Compare commits

...

24 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
87c61de11e Update CHANGELOG.md (#2493)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-19 20:46:01 +01:00
Andreas
b293638c40 Fix: file replacement in Watcharr Update Script (#2498) 2025-02-19 20:25:57 +01:00
Slaviša Arežina
d1e0c2d164 Fix: Kometa - fixed successful setup message and added info to json (#2495)
* Fix the installation complete message

* Added info in json
2025-02-19 15:26:20 +01:00
CanbiZ
7e6a7468df Update actualbudget.sh 2025-02-19 14:34:57 +01:00
CanbiZ
1ffe6b1c3c Update actualbudget.sh 2025-02-19 13:52:03 +01:00
CanbiZ
a76733df60 Update actualbudget.sh 2025-02-19 13:43:29 +01:00
CanbiZ
70f5280fcc quickfix, spelling error 2025-02-19 13:35:56 +01:00
CanbiZ
4cbe90597e Fix: Actual Budget, add missing .env when updating (#2494) 2025-02-19 13:32:52 +01:00
CanbiZ
0afe60e11a Fix: Actual Budget, add missing .env when updating 2025-02-19 13:30:22 +01:00
community-scripts-pr-app[bot]
6982d02489 Update CHANGELOG.md (#2480)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-18 20:35:55 +01:00
CanbiZ
031aefe05a Fix: SQL Server 2022 | GPG & Install (#2476) 2025-02-18 20:31:28 +01:00
CanbiZ
fa01cfd840 Feature: PBS Bare Metal Installation - Allow Microcode (#2477) 2025-02-18 20:29:48 +01:00
community-scripts-pr-app[bot]
331bc0f5a6 Update CHANGELOG.md (#2473)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-18 18:10:30 +01:00
community-scripts-pr-app[bot]
7e9eb2f98a Update .app files (#2474)
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>
2025-02-18 18:10:06 +01:00
CanbiZ
5a72b1e523 New Script: Docmost (#2472)
* New Script: Docmost LXC

* fix path

* add redis
2025-02-18 17:51:44 +01:00
community-scripts-pr-app[bot]
2693fabac2 Update CHANGELOG.md (#2470)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-18 13:04:08 +01:00
Slaviša Arežina
ce16be6393 Ensure Node version at least v18.20.3 and make fresh backup folder each time (#2468) 2025-02-18 12:00:24 +01:00
community-scripts-pr-app[bot]
b694c339cb Update CHANGELOG.md (#2467) 2025-02-18 09:04:51 +01:00
Théophile Diot
3957b46d98 Update BunkerWeb installation scripts and configuration to follow the official documentation for the latest version (#2466) 2025-02-18 08:59:55 +01:00
CanbiZ
54929e4b0d Update zipline-install.sh 2025-02-17 22:08:30 +01:00
community-scripts-pr-app[bot]
ca20d52ac1 Update CHANGELOG.md (#2456)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-02-17 20:28:19 +01:00
CanbiZ
e22a6dad6f Zipline: Prepare for Version 4.0.0 (#2455)
* Fix: Zipline Installation for V4

* Fix Zipline
2025-02-17 20:22:34 +01:00
community-scripts-pr-app[bot]
ee84468498 Update CHANGELOG.md (#2445) 2025-02-17 09:44:45 +01:00
V1d1o7
746f19b0b8 Update zipline-install.sh (#2444)
Updated secret generation inline with official docs
2025-02-17 08:30:34 +01:00
17 changed files with 350 additions and 56 deletions

View File

@@ -17,6 +17,43 @@ All LXC instances created using this repository come pre-installed with Midnight
Do not break established syntax in this file, as it is automatically updated by a Github Workflow Do not break established syntax in this file, as it is automatically updated by a Github Workflow
## 2025-02-19
### Changes
### 🚀 Updated Scripts
- Fix: file replacement in Watcharr Update Script [@Clusters](https://github.com/Clusters) ([#2498](https://github.com/community-scripts/ProxmoxVE/pull/2498))
- Fix: Kometa - fixed successful setup message and added info to json [@tremor021](https://github.com/tremor021) ([#2495](https://github.com/community-scripts/ProxmoxVE/pull/2495))
- Fix: Actual Budget, add missing .env when updating [@MickLesk](https://github.com/MickLesk) ([#2494](https://github.com/community-scripts/ProxmoxVE/pull/2494))
## 2025-02-18
### Changes
### ✨ New Scripts
- New Script: Docmost [@MickLesk](https://github.com/MickLesk) ([#2472](https://github.com/community-scripts/ProxmoxVE/pull/2472))
### 🚀 Updated Scripts
- Fix: SQL Server 2022 | GPG & Install [@MickLesk](https://github.com/MickLesk) ([#2476](https://github.com/community-scripts/ProxmoxVE/pull/2476))
- Feature: PBS Bare Metal Installation - Allow Microcode [@MickLesk](https://github.com/MickLesk) ([#2477](https://github.com/community-scripts/ProxmoxVE/pull/2477))
- Fix: MagicMirror force Node version and fix backups [@tremor021](https://github.com/tremor021) ([#2468](https://github.com/community-scripts/ProxmoxVE/pull/2468))
- Update BunkerWeb scripts to latest NGINX and specs [@TheophileDiot](https://github.com/TheophileDiot) ([#2466](https://github.com/community-scripts/ProxmoxVE/pull/2466))
## 2025-02-17
### Changes
### 💥 Breaking Changes
- Zipline: Prepare for Version 4.0.0 [@MickLesk](https://github.com/MickLesk) ([#2455](https://github.com/community-scripts/ProxmoxVE/pull/2455))
### 🚀 Updated Scripts
- Fix: Zipline increase SECRET to 42 chars [@V1d1o7](https://github.com/V1d1o7) ([#2444](https://github.com/community-scripts/ProxmoxVE/pull/2444))
## 2025-02-16 ## 2025-02-16
### Changes ### Changes

View File

@@ -1,5 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 tteck # Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) # Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
@@ -26,43 +27,81 @@ function update_script() {
if [[ ! -d /opt/actualbudget ]]; then if [[ ! -d /opt/actualbudget ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit 1
fi fi
RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual/releases/latest | \
grep "tag_name" | awk -F '"' '{print substr($4, 2)}')
if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
systemctl stop actualbudget systemctl stop actualbudget
msg_ok "${APP} Stopped" msg_ok "${APP} Stopped"
msg_info "Updating ${APP} to ${RELEASE}" msg_info "Updating ${APP} to ${RELEASE}"
cd /tmp cd /tmp
wget -q https://github.com/actualbudget/actual-server/archive/refs/tags/v${RELEASE}.tar.gz wget -q "https://github.com/actualbudget/actual-server/archive/refs/tags/v${RELEASE}.tar.gz"
mv /opt/actualbudget /opt/actualbudget_bak mv /opt/actualbudget /opt/actualbudget_bak
tar -xzf v${RELEASE}.tar.gz >/dev/null 2>&1 tar -xzf "v${RELEASE}.tar.gz" >/dev/null 2>&1
mv *ctual-server-* /opt/actualbudget mv *ctual-server-* /opt/actualbudget
if [[ ! -d /opt/actualbudget-data ]]; then
mkdir -p /opt/actualbudget-data/server-files
fi
rm -rf /opt/actualbudget/.env rm -rf /opt/actualbudget/.env
mv /opt/actualbudget_bak/.env /opt/actualbudget if [[ ! -f /opt/actualbudget_bak/.env ]]; then
mv /opt/actualbudget_bak/.migrate /opt/actualbudget cat <<EOF > /opt/actualbudget_bak/.env
mv /opt/actualbudget_bak/server-files /opt/actualbudget/server-files ACTUAL_UPLOAD_DIR=/opt/actualbudget/server-files
ACTUAL_DATA_DIR=/opt/actualbudget-data
ACTUAL_SERVER_FILES_DIR=/opt/actualbudget/server-files
PORT=5006
EOF
fi
mv /opt/actualbudget_bak/.env /opt/actualbudget/
if [[ -d /opt/actualbudget_bak/server-files ]] && [[ -n $(ls -A /opt/actualbudget_bak/server-files 2>/dev/null) ]]; then
mv /opt/actualbudget_bak/server-files/* /opt/actualbudget/server-files/
fi
if [[ -d /opt/actualbudget_bak/.migrate ]]; then
mv /opt/actualbudget_bak/.migrate /opt/actualbudget/
fi
cd /opt/actualbudget cd /opt/actualbudget
yarn install &>/dev/null yarn install &>/dev/null
echo "${RELEASE}" >/opt/actualbudget_version.txt echo "${RELEASE}" > /opt/actualbudget_version.txt
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
msg_info "Starting ${APP}" msg_info "Starting ${APP}"
cat <<EOF >/etc/systemd/system/actualbudget.service
[Unit]
Description=Actual Budget Service
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/actualbudget
EnvironmentFile=/opt/actualbudget/.env
ExecStart=/usr/bin/yarn start
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
systemctl start actualbudget systemctl start actualbudget
msg_ok "Started ${APP}" msg_ok "Started ${APP}"
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -rf /opt/actualbudget_bak rm -rf /opt/actualbudget_bak
rm -rf /tmp/v${RELEASE}.tar.gz rm -rf "/tmp/v${RELEASE}.tar.gz"
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi
exit exit 0
} }
start start

View File

@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
APP="BunkerWeb" APP="BunkerWeb"
var_tags="webserver" var_tags="webserver"
var_cpu="2" var_cpu="2"
var_ram="1024" var_ram="4096"
var_disk="4" var_disk="4"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
@@ -34,7 +34,7 @@ Pin: version ${RELEASE}
Pin-Priority: 1001 Pin-Priority: 1001
EOF EOF
apt-get update apt-get update
apt-get install -y nginx=1.26.2* apt-get install -y nginx=1.26.3*
apt-get install -y bunkerweb=${RELEASE} apt-get install -y bunkerweb=${RELEASE}
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}" msg_ok "Updated ${APP} to ${RELEASE}"

70
ct/docmost.sh Normal file
View File

@@ -0,0 +1,70 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://docmost.com/
APP="Docmost"
var_tags="documents"
var_cpu="3"
var_ram="3072"
var_disk="7"
var_os="debian"
var_version="12"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/docmost ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/docmost/docmost/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}"
systemctl stop docmost
msg_ok "${APP} Stopped"
msg_info "Updating ${APP} to v${RELEASE}"
cp /opt/docmost/.env /opt/
rm -rf /opt/docmost
temp_file=$(mktemp)
wget -q "https://github.com/docmost/docmost/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file"
tar -xzf "$temp_file"
mv docmost-${RELEASE} /opt/docmost
cd /opt/docmost
mv /opt/.env /opt/docmost/.env
pnpm install --force &>/dev/null
pnpm build &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}"
msg_info "Starting ${APP}"
systemctl start docmost
msg_ok "Started ${APP}"
msg_info "Cleaning Up"
rm -f ${temp_file}
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

6
ct/headers/docmost Normal file
View File

@@ -0,0 +1,6 @@
____ __
/ __ \____ _________ ___ ____ _____/ /_
/ / / / __ \/ ___/ __ `__ \/ __ \/ ___/ __/
/ /_/ / /_/ / /__/ / / / / / /_/ (__ ) /_
/_____/\____/\___/_/ /_/ /_/\____/____/\__/

View File

@@ -73,5 +73,5 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access the LXC at following IP address:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" echo -e "${TAB}${GATEWAY}${BGN}${IP}${CL}"

View File

@@ -35,6 +35,9 @@ function update_script() {
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
$STD apt-get update
$STD apt-get upgrade -y
rm -rf /opt/magicmirror-backup
mkdir /opt/magicmirror-backup mkdir /opt/magicmirror-backup
cp /opt/magicmirror/config/config.js /opt/magicmirror-backup cp /opt/magicmirror/config/config.js /opt/magicmirror-backup
if [[ -f /opt/magicmirror/css/custom.css ]]; then if [[ -f /opt/magicmirror/css/custom.css ]]; then

View File

@@ -37,11 +37,12 @@ function update_script() {
msg_info "Updating $APP to v${RELEASE}" msg_info "Updating $APP to v${RELEASE}"
temp_file=$(mktemp) temp_file=$(mktemp)
temp_folder=$(mktemp -d)
wget -q "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" wget -q "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file"
tar -xzf "$temp_file" tar -xzf "$temp_file" -C "$temp_folder"
rm -f /opt/watcharr/server/watcharr rm -f /opt/watcharr/server/watcharr
rm -rf /opt/watcharr/server/ui rm -rf /opt/watcharr/server/ui
mv Watcharr-${RELEASE}/ /opt/watcharr cp -rf ${temp_folder}/Watcharr-${RELEASE}/* /opt/watcharr
cd /opt/watcharr cd /opt/watcharr
export GOOS=linux export GOOS=linux
npm i &> /dev/null npm i &> /dev/null
@@ -58,6 +59,7 @@ function update_script() {
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -f ${temp_file} rm -f ${temp_file}
rm -rf ${temp_folder}
msg_ok "Cleanup Completed" msg_ok "Cleanup Completed"
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" >/opt/${APP}_version.txt

View File

@@ -26,6 +26,12 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! command -v pnpm &>/dev/null; then
msg_info "Installing pnpm"
#export NODE_OPTIONS=--openssl-legacy-provider
npm install -g pnpm@latest &>/dev/null
msg_ok "Installed pnpm"
fi
RELEASE=$(curl -s https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -s https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
msg_info "Stopping ${APP}" msg_info "Stopping ${APP}"
@@ -40,8 +46,8 @@ function update_script() {
mv zipline-${RELEASE} /opt/zipline mv zipline-${RELEASE} /opt/zipline
cd /opt/zipline cd /opt/zipline
mv /opt/.env /opt/zipline/.env mv /opt/.env /opt/zipline/.env
yarn install &>/dev/null pnpm install &>/dev/null
yarn build &>/dev/null pnpm build &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP}" msg_ok "Updated ${APP}"
@@ -66,4 +72,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"

View File

@@ -26,7 +26,7 @@ msg_info "Installing Nginx"
wget -qO- https://nginx.org/keys/nginx_signing.key | gpg --dearmor >/usr/share/keyrings/nginx-archive-keyring.gpg wget -qO- https://nginx.org/keys/nginx_signing.key | gpg --dearmor >/usr/share/keyrings/nginx-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" >/etc/apt/sources.list.d/nginx.list echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" >/etc/apt/sources.list.d/nginx.list
$STD apt-get update $STD apt-get update
$STD apt-get install -y nginx=1.26.2* $STD apt-get install -y nginx=1.26.3*
msg_ok "Installed Nginx" msg_ok "Installed Nginx"
RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
@@ -34,7 +34,6 @@ msg_info "Installing BunkerWeb v${RELEASE} (Patience)"
curl -fsSL "https://repo.bunkerweb.io/bunkerity/bunkerweb/gpgkey" | gpg --dearmor >/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg curl -fsSL "https://repo.bunkerweb.io/bunkerity/bunkerweb/gpgkey" | gpg --dearmor >/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg] https://repo.bunkerweb.io/bunkerity/bunkerweb/debian/ bookworm main" >/etc/apt/sources.list.d/bunkerity_bunkerweb.list echo "deb [signed-by=/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg] https://repo.bunkerweb.io/bunkerity/bunkerweb/debian/ bookworm main" >/etc/apt/sources.list.d/bunkerity_bunkerweb.list
$STD apt-get update $STD apt-get update
export UI_WIZARD=1
$STD apt-get install -y bunkerweb=${RELEASE} $STD apt-get install -y bunkerweb=${RELEASE}
cat <<EOF >/etc/apt/preferences.d/bunkerweb cat <<EOF >/etc/apt/preferences.d/bunkerweb
Package: bunkerweb Package: bunkerweb

View File

@@ -0,0 +1,97 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/documenso/documenso
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
gpg \
curl \
sudo \
redis \
make \
mc \
postgresql
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g pnpm
msg_ok "Installed Node.js"
msg_info "Setting up PostgreSQL"
DB_NAME="docmost_db"
DB_USER="docmost_user"
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
{
echo "Docmost-Credentials"
echo "Database Name: $DB_NAME"
echo "Database User: $DB_USER"
echo "Database Password: $DB_PASS"
} >> ~/docmost.creds
msg_ok "Set up PostgreSQL"
msg_info "Installing Docmost (Patience)"
temp_file=$(mktemp)
RELEASE=$(curl -s https://api.github.com/repos/docmost/docmost/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q "https://github.com/docmost/docmost/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file"
tar -xzf "$temp_file"
mv docmost-${RELEASE} /opt/docmost
cd /opt/docmost
mv .env.example .env
sed -i "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)|" /opt/docmost/.env
sed -i "s|DATABASE_URL=.*|DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME|" /opt/docmost/.env
export NODE_OPTIONS="--max-old-space-size=2048"
$STD pnpm install --force
$STD pnpm build
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Docmost"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/docmost.service
[Unit]
Description=Docmost Service
After=network.target postgresql.service
[Service]
WorkingDirectory=/opt/docmost
ExecStart=/usr/bin/pnpm start
Restart=always
EnvironmentFile=/opt/docmost/.env
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now docmost
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -f "$temp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@@ -2,10 +2,9 @@
# Copyright (c) 2021-2025 community-scripts ORG # Copyright (c) 2021-2025 community-scripts ORG
# Author: Kristian Skov # Author: Kristian Skov
# License: MIT # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color color
verb_ip6 verb_ip6
catch_errors catch_errors
@@ -15,33 +14,30 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y \ $STD apt install -y \
curl \ curl \
mc \ mc \
sudo \ sudo \
gpg \ gpg \
coreutils coreutils
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Setup SQL Server 2022" msg_info "Setup SQL Server 2022"
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg curl -s https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc > /dev/null
curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | tee /etc/apt/sources.list.d/mssql-server-2022.list > /dev/null
#$STD curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc
#$STD curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | tee /etc/apt/sources.list.d/mssql-server-2022.list
$STD apt-get clean *
$STD apt-get update -y $STD apt-get update -y
apt-get install -y mssql-server $STD apt-get install -y mssql-server
msg_ok "Setup Server 2022" msg_ok "Setup Server 2022"
msg_info "Installing SQL Server Tools" msg_info "Installing SQL Server Tools"
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
export ACCEPT_EULA=Y export ACCEPT_EULA=Y
curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc curl -s https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc > /dev/null
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | tee /etc/apt/sources.list.d/mssql-release.list curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/prod.list | tee /etc/apt/sources.list.d/mssql-release.list > /dev/null
$STD apt-get update $STD apt-get update
$STD apt-get install -y -qq \ $STD apt-get install -y -qq \
mssql-tools18 \ mssql-tools18 \
unixodbc-dev unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >>~/.bash_profile
source ~/.bash_profile source ~/.bash_profile
msg_ok "Installed SQL Server Tools" msg_ok "Installed SQL Server Tools"
@@ -53,7 +49,7 @@ else
fi fi
msg_info "Start Service" msg_info "Start Service"
systemctl enable -q --now mssql-server systemctl enable -q --now mssql-server
msg_ok "Service started" msg_ok "Service started"
motd_ssh motd_ssh

View File

@@ -33,14 +33,14 @@ msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js" msg_info "Installing Node.js"
$STD apt-get update $STD apt-get update
$STD apt-get install -y nodejs $STD apt-get install -y nodejs
$STD npm install -g yarn $STD npm install -g pnpm
msg_ok "Installed Node.js" msg_ok "Installed Node.js"
msg_info "Setting up PostgreSQL" msg_info "Setting up PostgreSQL"
DB_NAME=ziplinedb DB_NAME=ziplinedb
DB_USER=zipline DB_USER=zipline
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
SECRET_KEY="$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" SECRET_KEY="$(openssl rand -base64 42 | tr -dc 'a-zA-Z0-9')"
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';" $STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;" $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';" $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
@@ -60,13 +60,15 @@ wget -q "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip unzip -q v${RELEASE}.zip
mv zipline-${RELEASE} /opt/zipline mv zipline-${RELEASE} /opt/zipline
cd /opt/zipline cd /opt/zipline
mv .env.local.example .env cat <<EOF >/opt/zipline/.env
sudo sed -i "s|CORE_SECRET=.*|CORE_SECRET=\"$SECRET_KEY\"|" /opt/zipline/.env DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME
sudo sed -i "s|CORE_RETURN_HTTPS=.*|CORE_RETURN_HTTPS=false|" /opt/zipline/.env CORE_SECRET=$SECRET_KEY
sudo sed -i "s|CORE_DATABASE_URL=.*|CORE_DATABASE_URL=\"postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME\"|" /opt/zipline/.env CORE_HOSTNAME=0.0.0.0
CORE_PORT=3000
CORE_RETURN_HTTPS=false CORE_RETURN_HTTPS=false
$STD yarn install EOF
$STD yarn build $STD pnpm install
$STD pnpm build
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Zipline" msg_ok "Installed Zipline"
@@ -78,19 +80,18 @@ After=network.target
[Service] [Service]
WorkingDirectory=/opt/zipline WorkingDirectory=/opt/zipline
ExecStart=/usr/bin/yarn start ExecStart=/usr/bin/pnpm start
Restart=on-failure Restart=on-failure
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
systemctl enable -q --now zipline.service systemctl enable -q --now zipline
msg_ok "Created Service" msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -11,7 +11,7 @@
"interface_port": null, "interface_port": null,
"documentation": null, "documentation": null,
"website": "https://www.bunkerweb.io/", "website": "https://www.bunkerweb.io/",
"logo": "https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.5.7/misc/logo.png", "logo": "https://raw.githubusercontent.com/bunkerity/bunkerweb/master/misc/logo.png",
"description": "BunkerWeb is a security-focused web server that enhances web application protection. It guards against common web vulnerabilities like SQL injection, XSS, and CSRF. It features simple setup and configuration using a YAML file, customizable security rules, and provides detailed logs for traffic monitoring and threat detection.", "description": "BunkerWeb is a security-focused web server that enhances web application protection. It guards against common web vulnerabilities like SQL injection, XSS, and CSRF. It features simple setup and configuration using a YAML file, customizable security rules, and provides detailed logs for traffic monitoring and threat detection.",
"install_methods": [ "install_methods": [
{ {
@@ -19,7 +19,7 @@
"script": "ct/bunkerweb.sh", "script": "ct/bunkerweb.sh",
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 1024, "ram": 4096,
"hdd": 4, "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"

34
json/docmost.json Normal file
View File

@@ -0,0 +1,34 @@
{
"name": "Docmost",
"slug": "docmost",
"categories": [
12
],
"date_created": "2025-02-18",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 3000,
"documentation": "https://docmost.com/docs/installation",
"website": "https://docmost.com/",
"logo": "https://raw.githubusercontent.com/docmost/docmost/refs/heads/main/apps/client/public/favicon-32x32.png",
"description": "Open-source collaborative wiki and documentation software Create, collaborate, and share knowledge seamlessly with Docmost. Ideal for managing your wiki, knowledge-base, documentation and a lot more.",
"install_methods": [
{
"type": "default",
"script": "ct/docmost.sh",
"resources": {
"cpu": 3,
"ram": 3072,
"hdd": 7,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

View File

@@ -34,6 +34,10 @@
{ {
"text": "During installation you will be prompted to input your TMDb key, Plex URL and Plex token. Make sure you have them ready.", "text": "During installation you will be prompted to input your TMDb key, Plex URL and Plex token. Make sure you have them ready.",
"type": "info" "type": "info"
},
{
"text": "Configuration file is at `/opt/kometa/config/config.yml`",
"type": "info"
} }
] ]
} }

View File

@@ -150,7 +150,7 @@ amd() {
} }
# Check if this is a Proxmox Backup Server by verifying the presence of the datastore config. # Check if this is a Proxmox Backup Server by verifying the presence of the datastore config.
if [ ! -f /etc/proxmox-backup/datastore.cfg ]; then if [ ! -f /etc/proxmox-backup/user.cfg ]; then
header_info header_info
msg_error "Proxmox Backup Server not detected!" msg_error "Proxmox Backup Server not detected!"
exit exit