Merge remote-tracking branch 'upstream/main'

This commit is contained in:
Sam Heinz
2025-06-22 19:54:13 +10:00
190 changed files with 5344 additions and 3045 deletions
+8 -25
View File
@@ -15,18 +15,13 @@ update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
lsb-release
curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg
echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" >/etc/apt/sources.list.d/php.list
$STD apt-get update
$STD apt-get install -y \
nginx \
composer \
php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,intl,mbstring,mysql,xml,cli}
lsb-release \
nginx
msg_ok "Installed Dependencies"
install_mariadb
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
setup_composer
setup_mariadb
msg_info "Setting up Database"
DB_NAME=2fauth_db
@@ -43,16 +38,12 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS
} >>~/2FAuth.creds
msg_ok "Set up Database"
msg_info "Setup 2FAuth"
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o "${RELEASE}.zip"
$STD unzip "${RELEASE}.zip"
mv "2FAuth-${RELEASE//v/}/" /opt/2fauth
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
cd "/opt/2fauth" || return
msg_info "Setup 2FAuth"
cd /opt/2fauth
cp .env.example .env
IPADDRESS=$(hostname -I | awk '{print $1}')
sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
-e "s|^DB_CONNECTION=$|DB_CONNECTION=mysql|" \
-e "s|^DB_DATABASE=$|DB_DATABASE=$DB_NAME|" \
@@ -60,22 +51,16 @@ sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
-e "s|^DB_PORT=$|DB_PORT=3306|" \
-e "s|^DB_USERNAME=$|DB_USERNAME=$DB_USER|" \
-e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env
export COMPOSER_ALLOW_SUPERUSER=1
$STD composer update --no-plugins --no-scripts
$STD composer install --no-dev --prefer-source --no-plugins --no-scripts
$STD php artisan key:generate --force
$STD php artisan migrate:refresh
$STD php artisan passport:install -q -n
$STD php artisan storage:link
$STD php artisan config:cache
chown -R www-data: /opt/2fauth
chmod -R 755 /opt/2fauth
echo "${RELEASE}" >"/opt/2fauth_version.txt"
msg_ok "Setup 2fauth"
msg_info "Configure Service"
@@ -107,7 +92,6 @@ server {
}
}
EOF
systemctl reload nginx
msg_ok "Configured Service"
@@ -115,7 +99,6 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -f "/opt/v${RELEASE}.zip"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+1 -1
View File
@@ -22,7 +22,7 @@ msg_info "Installing Actual Budget"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
NODE_VERSION="22"
install_node_and_modules
setup_nodejs
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
chown -R root:root /opt/actualbudget-data
chmod -R 755 /opt/actualbudget-data
+15 -17
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 tteck
# Copyright (c) 2021-2025 tteck
# Author: tteck
# Co-Author: MickLesk (Canbiz)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
@@ -18,12 +18,10 @@ msg_info "Installing Dependencies"
$STD apt-get install -y \
gdal-bin \
libgdal-dev \
git \
python3-venv \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
git
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.12" setup_uv
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
PG_VERSION="16" PG_MODULES="postgis" install_postgresql
@@ -47,15 +45,12 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
} >>~/adventurelog.creds
msg_ok "Set up PostgreSQL"
fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"
msg_info "Installing AdventureLog (Patience)"
DJANGO_ADMIN_USER="djangoadmin"
DJANGO_ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
LOCAL_IP="$(hostname -I | awk '{print $1}')"
cd /opt
RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
$STD unzip v${RELEASE}.zip
mv AdventureLog-${RELEASE} /opt/adventurelog
cat <<EOF >/opt/adventurelog/backend/server/.env
PGHOST='localhost'
PGDATABASE='${DB_NAME}'
@@ -80,11 +75,13 @@ DISABLE_REGISTRATION=False
EOF
cd /opt/adventurelog/backend/server
mkdir -p /opt/adventurelog/backend/server/media
$STD pip install --upgrade pip
$STD pip install -r requirements.txt
$STD python3 manage.py collectstatic --noinput
$STD python3 manage.py migrate
$STD python3 manage.py download-countries
$STD uv venv /opt/adventurelog/backend/server/.venv
$STD /opt/adventurelog/backend/server/.venv/bin/python -m ensurepip --upgrade
$STD /opt/adventurelog/backend/server/.venv/bin/python -m pip install --upgrade pip
$STD /opt/adventurelog/backend/server/.venv/bin/python -m pip install -r requirements.txt
$STD /opt/adventurelog/backend/server/.venv/bin/python -m manage collectstatic --noinput
$STD /opt/adventurelog/backend/server/.venv/bin/python -m manage migrate
$STD /opt/adventurelog/backend/server/.venv/bin/python -m manage download-countries
cat <<EOF >/opt/adventurelog/frontend/.env
PUBLIC_SERVER_URL=http://$LOCAL_IP:8000
BODY_SIZE_LIMIT=Infinity
@@ -97,7 +94,8 @@ echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed AdventureLog"
msg_info "Setting up Django Admin"
$STD python3 /opt/adventurelog/backend/server/manage.py shell <<EOF
cd /opt/adventurelog/backend/server
$STD .venv/bin/python -m manage shell <<EOF
from django.contrib.auth import get_user_model
UserModel = get_user_model()
user = UserModel.objects.create_user('$DJANGO_ADMIN_USER', password='$DJANGO_ADMIN_PASS')
@@ -121,7 +119,7 @@ After=network.target postgresql.service
[Service]
WorkingDirectory=/opt/adventurelog/backend/server
ExecStart=python3 manage.py runserver 0.0.0.0:8000
ExecStart=/opt/adventurelog/backend/server/.venv/bin/python -m manage runserver 0.0.0.0:8000
Restart=always
EnvironmentFile=/opt/adventurelog/backend/server/.env
+1 -1
View File
@@ -38,7 +38,7 @@ $STD apt-get install -y \
default-jdk
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setup Apache Tomcat"
RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1)
+1 -1
View File
@@ -34,7 +34,7 @@ $STD apt-get install -y \
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Installed Python Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing Playwright"
$STD pip install playwright
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt-get install -y \
php-{pgsql,dom}
msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql
PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL Database"
DB_NAME=baikal
+2 -2
View File
@@ -20,8 +20,8 @@ $STD apt-get install -y \
musl-dev
msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql
install_go
PG_VERSION="16" setup_postgresql
setup_go
RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Installing bitmagnet v${RELEASE}"
+1 -1
View File
@@ -23,7 +23,7 @@ $STD apt-get install -y \
make
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setting up Database"
DB_NAME=bookstack
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing ByteStash"
JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=')
+1 -1
View File
@@ -29,7 +29,7 @@ msg_ok "Installed Caddy"
read -r -p "${TAB3}Would you like to install xCaddy Addon? <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
install_go
setup_go
msg_info "Setup xCaddy"
$STD apt-get install -y git
cd /opt
+1 -1
View File
@@ -51,7 +51,7 @@ $STD apt-get install -y \
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Setup Python3"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing Change Detection"
mkdir /opt/changedetection
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
install_go
setup_go
msg_info "Configure Application"
var_cf_api_token="default"
+2 -2
View File
@@ -18,8 +18,8 @@ $STD apt-get install -y \
git
msg_ok "Installed Dependencies"
NODE_MODULE="pnpm@latest" install_node_and_modules
fetch_and_deploy_gh_release "raydak-labs/configarr"
NODE_MODULE="pnpm@latest" setup_nodejs
fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
msg_info "Setup ${APPLICATION}"
cat <<EOF >/opt/configarr/.env
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing Cronicle Primary Server"
LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Setup Cross-Seed"
$STD npm install cross-seed@latest -g
+1 -1
View File
@@ -18,7 +18,7 @@ $STD apt-get install -y \
git
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
read -p "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
msg_info "Installing Dashy ${RELEASE} (Patience)"
+2 -2
View File
@@ -20,8 +20,8 @@ $STD apt-get install -y \
make
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" install_node_and_modules
PG_VERSION="16" install_postgresql
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL"
DB_NAME="docmost_db"
+2 -2
View File
@@ -29,8 +29,8 @@ $STD apt-get install -y \
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="turbo@1.9.3" install_node_and_modules
PG_VERSION="16" install_postgresql
NODE_VERSION="22" NODE_MODULE="turbo@1.9.3" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL"
DB_NAME="documenso_db"
+1 -1
View File
@@ -19,7 +19,7 @@ $STD apt-get install -y \
debconf-utils
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setting up Database"
ROOT_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
+3 -3
View File
@@ -20,7 +20,7 @@ $STD apt-get install -y \
debconf-utils
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
read -p "${TAB3}Please enter the name for your server: " servername
@@ -57,8 +57,8 @@ cd /opt/synapse-admin
$STD yarn global add serve
$STD yarn install --ignore-engines
$STD yarn build
mv ./dist ../ && \
rm -rf * && \
mv ./dist ../ &&
rm -rf * &&
mv ../dist ./
msg_ok "Installed Element Synapse"
+1 -1
View File
@@ -18,7 +18,7 @@ $STD apt-get install -y \
xdg-utils
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Setup Excalidraw"
temp_file=$(mktemp)
+25 -5
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: quantumryuu
# Author: quantumryuu | Co-Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://firefly-iii.org/
@@ -24,13 +24,12 @@ $STD apt-get install -y \
composer
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setting up database"
DB_NAME=firefly
DB_USER=firefly
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
MYSQL_VERSION=$(mariadb --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -n1)
$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;"
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
@@ -43,6 +42,7 @@ mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRI
msg_ok "Set up database"
msg_info "Installing Firefly III (Patience)"
LOCAL_IP=$(hostname -I | awk '{print $1}')
RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
cd /opt
curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o "FireflyIII-v${RELEASE}.tar.gz"
@@ -61,6 +61,14 @@ $STD php artisan firefly:upgrade-database
$STD php artisan firefly:correct-database
$STD php artisan firefly:report-integrity
$STD php artisan firefly:laravel-passport-keys
IMPORTER_RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/data-importer/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
mkdir -p /opt/firefly/dataimporter
cd /opt
curl -fsSL "https://github.com/firefly-iii/data-importer/releases/download/v${IMPORTER_RELEASE}/DataImporter-v${IMPORTER_RELEASE}.tar.gz" -o "DataImporter-v${IMPORTER_RELEASE}.tar.gz"
tar -xzf "DataImporter-v${IMPORTER_RELEASE}.tar.gz" -C /opt/firefly/dataimporter
cp /opt/firefly/dataimporter/.env.example /opt/firefly/dataimporter/.env
sed -i "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" /opt/firefly/dataimporter/.env
chown -R www-data:www-data /opt/firefly
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Firefly III"
@@ -75,7 +83,18 @@ cat <<EOF >/etc/apache2/sites-available/firefly.conf
AllowOverride All
Require all granted
</Directory>
Alias /dataimporter/ /opt/firefly/dataimporter/public/
<Directory /opt/firefly/dataimporter/public/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
@@ -93,7 +112,8 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -rf /opt/FireflyIII-v${RELEASE}.tar.gz
rm -rf "/opt/FireflyIII-v${RELEASE}.tar.gz"
rm -rf "/opt/DataImporter-v${IMPORTER_RELEASE}.tar.gz"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="20" install_node_and_modules
NODE_VERSION="20" setup_nodejs
msg_info "Installing FlowiseAI (Patience)"
$STD npm install -g flowise \
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt-get install -y \
libapache2-mod-php
msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql
PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL"
DB_NAME=freshrss
+1 -1
View File
@@ -24,7 +24,7 @@ rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
$STD pip install --upgrade pip
msg_ok "Setup Python3"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing go2rtc"
mkdir -p /usr/local/go2rtc/bin
+1 -1
View File
@@ -17,7 +17,7 @@ $STD apt-get install -y \
ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
msg_info "Installing Fumadocs"
mkdir -p /opt/fumadocs
+1 -1
View File
@@ -19,7 +19,7 @@ $STD apt-get install -y \
libcap2-bin
msg_ok "Installed Dependencies"
install_go
setup_go
RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Setting up gatus v${RELEASE}"
+2 -2
View File
@@ -19,7 +19,7 @@ $STD apt-get install -y \
ca-certificates
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Configuring Database"
DB_NAME=ghost
@@ -37,7 +37,7 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS
} >>~/ghost.creds
msg_ok "Configured MySQL"
NODE_VERSION="20" install_node_and_modules
NODE_VERSION="20" setup_nodejs
msg_info "Installing Ghost CLI"
$STD npm install ghost-cli@latest -g
+1 -1
View File
@@ -28,7 +28,7 @@ ln -sf /opt/bun/bin/bun /usr/local/bin/bun
ln -sf /opt/bun/bin/bun /usr/local/bin/bunx
msg_ok "Installed Bun"
fetch_and_deploy_gh_release "arunavo4/gitea-mirror"
fetch_and_deploy_gh_release "gitea-mirror" "arunavo4/gitea-mirror"
msg_info "Installing gitea-mirror"
cd /opt/gitea-mirror
+1 -1
View File
@@ -22,7 +22,7 @@ $STD apt-get install -y \
libapache2-mod-php
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setting up database"
DB_NAME=glpi_db
+2 -2
View File
@@ -22,8 +22,8 @@ $STD apt-get install -y \
build-essential
msg_ok "Installed Dependencies"
install_go
NODE_VERSION="22" install_node_and_modules
setup_go
NODE_VERSION="22" setup_nodejs
msg_info "Setup ${APPLICATION} (Patience)"
temp_file=$(mktemp)
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
MONGO_VERSION="7.0" install_mongodb
MONGO_VERSION="7.0" setup_mongodb
msg_info "Setup Graylog Data Node"
PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt-get install -y \
python3.11-venv
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Installing Grist"
RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+1 -1
View File
@@ -22,7 +22,7 @@ curl -fsSL "http://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu
$STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_arm64.deb
msg_ok "Installed Dependencies"
NODE_VERSION="20" install_node_and_modules
NODE_VERSION="20" setup_nodejs
msg_info "Setup ${APPLICATION}"
temp_file=$(mktemp)
+2 -2
View File
@@ -28,8 +28,8 @@ msg_ok "Installed Dependencies"
NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
install_node_and_modules
fetch_and_deploy_gh_release "homarr-labs/homarr"
setup_nodejs
fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr"
msg_info "Installing Homarr (Patience)"
cd /opt
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y jq
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
LOCAL_IP=$(hostname -I | awk '{print $1}')
RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
+49
View File
@@ -0,0 +1,49 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: BiluliB
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/plexguide/Huntarr.io
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 jq
msg_ok "Installed Dependencies"
setup_uv
fetch_and_deploy_gh_release "huntarr" "plexguide/Huntarr.io"
msg_info "Configure Huntarr"
$STD uv venv /opt/huntarr/.venv
$STD uv pip install --python /opt/huntarr/.venv/bin/python -r /opt/huntarr/requirements.txt
msg_ok "Configured Huntrarr"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/huntarr.service
[Unit]
Description=Huntarr Service
After=network.target
[Service]
WorkingDirectory=/opt/huntarr
ExecStart=/opt/huntarr/.venv/bin/python /opt/huntarr/main.py
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now huntarr
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+30 -37
View File
@@ -13,6 +13,8 @@ setting_up_container
network_check
update_os
setup_uv
msg_info "Configuring apt and installing dependencies"
echo "deb http://deb.debian.org/debian testing main contrib" >/etc/apt/sources.list.d/immich.list
cat <<EOF >/etc/apt/preferences.d/immich
@@ -27,7 +29,6 @@ $STD apt-get install --no-install-recommends -y \
redis \
autoconf \
build-essential \
python3-venv \
python3-dev \
cmake \
jq \
@@ -63,6 +64,7 @@ $STD apt-get install --no-install-recommends -y \
mesa-utils \
mesa-va-drivers \
mesa-vulkan-drivers \
ocl-icd-libopencl1 \
tini \
zlib1g
$STD apt-get install -y \
@@ -84,21 +86,17 @@ ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /usr/bin/ffmpeg
ln -s /usr/lib/jellyfin-ffmpeg/ffprobe /usr/bin/ffprobe
msg_ok "Dependencies Installed"
NODE_VERSION="22" install_node_and_modules
PG_VERSION="16" install_postgresql
read -r -p "${TAB3}Install OpenVINO dependencies for Intel HW-accelerated machine-learning? " prompt
read -r -p "Install OpenVINO dependencies for Intel HW-accelerated machine-learning? y/N " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_info "Installing OpenVINO dependencies"
touch ~/.openvino
$STD apt-get -y install --no-install-recommends ocl-icd-libopencl1
tmp_dir=$(mktemp -d)
$STD pushd "$tmp_dir"
curl -fsSL https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-core_1.0.17384.11_amd64.deb -O
curl -fsSL https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-opencl_1.0.17384.11_amd64.deb -O
curl -fsSL https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/intel-opencl-icd_24.31.30508.7_amd64.deb -O
curl -fsSL https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/libigdgmm12_22.4.1_amd64.deb -O
$STD dpkg -i ./*.deb
curl -fsSLO https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-core_1.0.17384.11_amd64.deb
curl -fsSLO https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17384.11/intel-igc-opencl_1.0.17384.11_amd64.deb
curl -fsSLO https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/intel-opencl-icd_24.31.30508.7_amd64.deb
curl -fsSLO https://github.com/intel/compute-runtime/releases/download/24.31.30508.7/libigdgmm12_22.4.1_amd64.deb
$STD apt install -y ./*.deb
$STD popd
rm -rf "$tmp_dir"
dpkg -l | grep "intel-opencl-icd" | awk '{print $3}' >~/.intel_version
@@ -112,11 +110,15 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
msg_ok "Installed OpenVINO dependencies"
fi
NODE_VERSION="22" setup_nodejs
PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql
msg_info "Setting up Postgresql Database"
$STD apt-get install postgresql-16-pgvector
curl -fsSL https://github.com/tensorchord/VectorChord/releases/download/0.3.0/postgresql-16-vchord_0.3.0-1_amd64.deb -o vchord.deb
$STD dpkg -i vchord.deb
VCHORD_RELEASE="$(curl -fsSL https://api.github.com/repos/tensorchord/vectorchord/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')"
curl -fsSL "https://github.com/tensorchord/VectorChord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
$STD apt install -y ./vchord.deb
rm vchord.deb
echo "$VCHORD_RELEASE" >~/.vchord_version
DB_NAME="immich"
DB_USER="immich"
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c18)
@@ -271,11 +273,6 @@ rm -rf "$SOURCE"/build
} >~/.immich_library_revisions
msg_ok "Custom Photo-processing Library Compiled"
msg_info "Installing ${APPLICATION} (more patience please)"
tmp_file=$(mktemp)
RELEASE=$(curl -s https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/immich-app/immich/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file"
unzip -q "$tmp_file"
INSTALL_DIR="/opt/${APPLICATION}"
UPLOAD_DIR="${INSTALL_DIR}/upload"
SRC_DIR="${INSTALL_DIR}/source"
@@ -283,9 +280,12 @@ APP_DIR="${INSTALL_DIR}/app"
ML_DIR="${APP_DIR}/machine-learning"
GEO_DIR="${INSTALL_DIR}/geodata"
mkdir -p "$INSTALL_DIR"
mv "$APPLICATION-$RELEASE"/ "$SRC_DIR"
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${ML_DIR}","${INSTALL_DIR}"/cache}
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.135.0" "$SRC_DIR"
msg_info "Installing ${APPLICATION} (more patience please)"
cd "$SRC_DIR"/server
$STD npm install -g node-gyp node-pre-gyp
$STD npm ci
@@ -304,23 +304,16 @@ cp LICENSE "$APP_DIR"
msg_ok "Installed Immich Web Components"
cd "$SRC_DIR"/machine-learning
$STD python3 -m venv "$ML_DIR/ml-venv"
export VIRTUAL_ENV="${ML_DIR}/ml-venv"
$STD uv venv "$VIRTUAL_ENV"
if [[ -f ~/.openvino ]]; then
msg_info "Installing HW-accelerated machine-learning"
(
source "$ML_DIR"/ml-venv/bin/activate
$STD pip3 install uv
uv -q sync --extra openvino --no-cache --active
)
patchelf --clear-execstack "$ML_DIR"/ml-venv/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so
uv -q sync --extra openvino --no-cache --active
patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.11/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-311-x86_64-linux-gnu.so"
msg_ok "Installed HW-accelerated machine-learning"
else
msg_info "Installing machine-learning"
(
source "$ML_DIR"/ml-venv/bin/activate
$STD pip3 install uv
uv -q sync --extra cpu --no-cache --active
)
uv -q sync --extra cpu --no-cache --active
msg_ok "Installed machine-learning"
fi
cd "$SRC_DIR"
@@ -351,7 +344,9 @@ URL_LIST=(
https://download.geonames.org/export/dump/cities500.zip
https://raw.githubusercontent.com/nvkelso/natural-earth-vector/v5.1.2/geojson/ne_10m_admin_0_countries.geojson
)
echo "${URL_LIST[@]}" | xargs -n1 -P 8 wget -q
for geo in "${URL_LIST[@]}"; do
curl -fsSLO "$geo"
done
unzip -q cities500.zip
date --iso-8601=seconds | tr -d "\n" >geodata-date.txt
rm cities500.zip
@@ -361,7 +356,6 @@ msg_ok "Installed GeoNames data"
mkdir -p /var/log/immich
touch /var/log/immich/{web.log,ml.log}
echo "$RELEASE" >/opt/"${APPLICATION}"_version.txt
msg_ok "Installed ${APPLICATION}"
msg_info "Creating user, env file, scripts & services"
@@ -390,13 +384,13 @@ cat <<EOF >"${ML_DIR}"/ml_start.sh
#!/usr/bin/env bash
cd ${ML_DIR}
. ml-venv/bin/activate
. ${VIRTUAL_ENV}/bin/activate
set -a
. ${INSTALL_DIR}/.env
set +a
python -m immich_ml
python3 -m immich_ml
EOF
chmod +x "$ML_DIR"/ml_start.sh
cat <<EOF >/etc/systemd/system/"${APPLICATION}"-web.service
@@ -453,7 +447,6 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -f "$tmp_file"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing ioBroker (Patience)"
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
+1 -3
View File
@@ -21,14 +21,12 @@ $STD apt-get install -y \
gpg
msg_ok "Installed Dependencies"
git clone -q https://github.com/Fallenbagel/jellyseerr.git /opt/jellyseerr
cd /opt/jellyseerr
$STD git checkout main
pnpm_desired=$(grep -Po '"pnpm":\s*"\K[^"]+' /opt/jellyseerr/package.json)
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="pnpm@$pnpm_desired" setup_nodejs
msg_info "Installing Jellyseerr (Patience)"
export CYPRESS_INSTALL_BINARY=0
+15 -10
View File
@@ -13,16 +13,19 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
python3 \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.12" setup_uv
msg_info "Setting up Jupyter Notebook"
$STD pip3 install jupyter
msg_ok "Setup Jupyter Notebook"
msg_info "Installing Jupyter"
mkdir -p /opt/jupyter
cd /opt/jupyter
$STD uv venv /opt/jupyter/.venv
$STD /opt/jupyter/.venv/bin/python -m ensurepip --upgrade
$STD /opt/jupyter/.venv/bin/python -m pip install --upgrade pip
$STD /opt/jupyter/.venv/bin/python -m pip install jupyter
ln -s /opt/jupyter/.venv/bin/jupyter /usr/local/bin/jupyter
ln -s /opt/jupyter/.venv/bin/jupyter-lab /usr/local/bin/jupyter-lab
ln -s /opt/jupyter/.venv/bin/jupyter-notebook /usr/local/bin/jupyter-notebook
msg_ok "Installed Jupyter"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/jupyternotebook.service
@@ -32,7 +35,8 @@ After=network.target
[Service]
Type=simple
ExecStart=jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root
WorkingDirectory=/opt/jupyter
ExecStart=/opt/jupyter/.venv/bin/jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root
Restart=always
RestartSec=10
@@ -40,6 +44,7 @@ RestartSec=10
WantedBy=multi-user.target
EOF
systemctl enable -q --now jupyternotebook
msg_ok "Created Service"
motd_ssh
customize
+1 -1
View File
@@ -48,7 +48,7 @@ sed -i \
/etc/meilisearch.toml
msg_ok "Installed Meilisearch"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
$STD npm install -g corepack@0.31.0
msg_info "Installing karakeep"
+13 -5
View File
@@ -16,17 +16,25 @@ update_os
msg_info "Installing Kasm Workspaces"
KASM_VERSION=$(curl -fsSL 'https://www.kasmweb.com/downloads' | grep -o 'https://kasm-static-content.s3.amazonaws.com/kasm_release_[^"]*\.tar\.gz' | head -n 1 | sed -E 's/.*release_(.*)\.tar\.gz/\1/')
curl -fsSL -o "/opt/kasm_release_${KASM_VERSION}.tar.gz" "https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz"
tar -xf "/opt/kasm_release_${KASM_VERSION}.tar.gz" -C /opt
printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh
touch ~/kasm-install.output
sed -n '/Kasm UI Login Credentials/,$p' ~/kasm-install.output >~/kasm.creds
cd /opt
tar -xf "kasm_release_${KASM_VERSION}.tar.gz"
chmod +x /opt/kasm_release/install.sh
printf 'y\ny\ny\n4\n' | bash /opt/kasm_release/install.sh > ~/kasm-install.output 2>&1
cat ~/kasm-install.output | grep -A 20 -i "credentials\|login\|password\|admin" | sed '1i Kasm-Workspaces-Credentials' >~/kasm.creds
msg_ok "Installed Kasm Workspaces"
motd_ssh
customize
msg_info "Displaying Kasm Credentials"
cat ~/kasm.creds
msg_ok "Kasm Credentials displayed"
msg_info "Cleaning up"
$STD rm -f "/opt/kasm_release_${KASM_VERSION}.tar.gz"
rm -f /opt/kasm_release_${KASM_VERSION}.tar.gz
rm -f ~/kasm-install.output
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+1 -1
View File
@@ -23,7 +23,7 @@ $STD apt-get install -y \
lsb-release
msg_ok "Installed Dependencies"
install_mysql
setup_mysql
msg_info "Adding PHP8.4 Repository"
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
+2 -2
View File
@@ -19,8 +19,8 @@ $STD apt-get install -y \
lsb-release
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
PG_VERSION="16" install_postgresql
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Setup PHP8.4 Repository"
$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
+81
View File
@@ -0,0 +1,81 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/LibreTranslate/LibreTranslate
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 --no-install-recommends \
pkg-config \
gcc \
g++ \
libicu-dev
msg_ok "Installed dependencies"
msg_info "Setup Python3"
$STD apt-get install -y \
python3-pip \
python3-dev \
python3-icu
msg_ok "Setup Python3"
setup_uv
fetch_and_deploy_gh_release "libretranslate" "LibreTranslate/LibreTranslate"
msg_info "Setup LibreTranslate (Patience)"
cd /opt/libretranslate
$STD uv venv .venv
$STD source .venv/bin/activate
$STD uv pip install --upgrade pip setuptools
$STD uv pip install Babel==2.12.1
$STD .venv/bin/python scripts/compile_locales.py
$STD uv pip install torch==2.2.0 --extra-index-url https://download.pytorch.org/whl/cpu
$STD uv pip install "numpy<2"
$STD uv pip install .
$STD uv pip install libretranslate
$STD .venv/bin/python scripts/install_models.py
cat <<EOF >/opt/libretranslate/.env
LT_PORT=5000
EOF
msg_ok "Installed LibreTranslate"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/libretranslate.service
[Unit]
Description=LibreTranslate
After=network.target
[Service]
User=root
Type=idle
Restart=always
Environment="PATH=/usr/local/lib/python3.11/dist-packages/libretranslate"
EnvironmentFile=/opt/libretranslate/.env
ExecStart=/opt/libretranslate/.venv/bin/python3 /opt/libretranslate/.venv/bin/libretranslate --host * --update-models
ExecReload=/bin/kill -s HUP
KillMode=mixed
TimeoutStopSec=1
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now libretranslate
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+4 -4
View File
@@ -19,9 +19,9 @@ $STD apt-get install -y \
build-essential
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
PG_VERSION="16" install_postgresql
RUST_CRATES="monolith" install_rust_and_crates
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
PG_VERSION="16" setup_postgresql
RUST_CRATES="monolith" setup_rust
msg_info "Setting up PostgreSQL DB"
DB_NAME=linkwardendb
@@ -48,7 +48,7 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
fi
msg_info "Installing Linkwarden (Patience)"
fetch_and_deploy_gh_release "linkwarden/linkwarden"
fetch_and_deploy_gh_release "linkwarden" "linkwarden/linkwarden"
cd /opt/linkwarden
$STD yarn
$STD npx playwright install-deps
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt-get install -y gcc
$STD apt-get install -y ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
msg_info "Installing Mafl v${RELEASE}"
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Setup MagicMirror"
temp_file=$(mktemp)
+2 -2
View File
@@ -13,8 +13,8 @@ setting_up_container
network_check
update_os
NODE_VERSION="20" install_node_and_modules
MYSQL_VERSION="8.0" install_mysql
NODE_VERSION="20" setup_nodejs
MYSQL_VERSION="8.0" setup_mysql
msg_info "Setting up Database"
DB_NAME="mmdl"
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
install_mariadb
setup_mariadb
msg_info "Setup MariaDB"
sed -i 's/^# *\(port *=.*\)/\1/' /etc/mysql/my.cnf
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Install Matterbridge"
mkdir -p /root/Matterbridge
NODE_VERSION="22"
NODE_MODULE="matterbridge"
install_node_and_modules
setup_nodejs
msg_ok "Installed Matterbridge"
msg_info "Creating Service"
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
PG_VERSION="16" install_postgresql
PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL"
DB_NAME=mattermost
+1 -1
View File
@@ -35,7 +35,7 @@ msg_ok "Setup ${APPLICATION}"
read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
msg_info "Setup ${APPLICATION}-ui"
tmp_file=$(mktemp)
+2 -2
View File
@@ -21,8 +21,8 @@ $STD apt-get install -y \
tzdata
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
install_go
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
setup_go
msg_info "Installing Memos (Patience)"
mkdir -p /opt/memos_data
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing MeshCentral"
mkdir /opt/meshcentral
+1 -1
View File
@@ -37,7 +37,7 @@ $STD apt-get install -y \
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Setup Python3"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing MeTube"
$STD git clone https://github.com/alexta69/metube /opt/metube
+2 -2
View File
@@ -21,8 +21,8 @@ $STD apt-get install -y \
composer
msg_ok "Installed Dependencies"
install_mariadb
NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
setup_mariadb
NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Setting up MariaDB"
DB_NAME=monica
+1 -1
View File
@@ -19,7 +19,7 @@ $STD apt-get install -y \
ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing MySpeed"
RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5)
+1 -1
View File
@@ -18,7 +18,7 @@ $STD apt-get install -y \
ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing n8n (Patience)"
$STD npm install --global patch-package
+1 -1
View File
@@ -26,7 +26,7 @@ $STD apt-get install -y \
zlib1g-dev
msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql
PG_VERSION="16" setup_postgresql
msg_info "Installing Python"
$STD apt-get install -y \
+1 -1
View File
@@ -19,7 +19,7 @@ $STD apt-get install -y \
ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing Node-Red"
$STD npm install -g --unsafe-perm node-red
+2 -2
View File
@@ -21,8 +21,8 @@ $STD apt-get install -y \
ca-certificates
msg_ok "Installed Dependencies"
install_mongodb
NODE_VERSION="22" install_node_and_modules
setup_mongodb
NODE_VERSION="22" setup_nodejs
msg_info "Configure MongoDB"
MONGO_ADMIN_USER="admin"
+1 -1
View File
@@ -27,7 +27,7 @@ $STD apt-get install -y --no-install-recommends \
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Setup Python3"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing Open WebUI (Patience)"
$STD git clone https://github.com/open-webui/open-webui.git /opt/open-webui
+2 -2
View File
@@ -20,8 +20,8 @@ $STD apt-get install -y \
redis
msg_ok "Installed Dependencies"
NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
PG_VERSION="16" install_postgresql
NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Set up PostgreSQL Database"
DB_NAME="outline"
+1 -1
View File
@@ -19,7 +19,7 @@ $STD apt-get install -y \
ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Installing Overseerr (Patience)"
git clone -q https://github.com/sct/overseerr.git /opt/overseerr
+1 -1
View File
@@ -18,7 +18,7 @@ $STD apt-get install -y \
git
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing PairDrop"
git clone -q https://github.com/schlagmichdoch/PairDrop.git /opt/pairdrop
+1 -1
View File
@@ -23,7 +23,7 @@ $STD apt-get install -y \
python3-pip
msg_ok "Installed Python3"
install_node_and_modules
setup_nodejs
msg_info "Setup Paperless-AI"
cd /opt
+2 -2
View File
@@ -23,8 +23,8 @@ $STD apt-get install -y \
musl-tools
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
install_go
NODE_VERSION="22" setup_nodejs
setup_go
msg_info "Setup Paperless-GPT"
temp_file=$(mktemp)
+1 -1
View File
@@ -35,7 +35,7 @@ $STD apt-get install -y \
libleptonica-dev
msg_ok "Installed Dependencies"
PG_VERSION="16" install_postgresql
PG_VERSION="16" setup_postgresql
msg_info "Setup Python3"
$STD apt-get install -y \
+2 -2
View File
@@ -24,8 +24,8 @@ $STD apt-get install -y \
composer
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
PG_VERSION="16" install_postgresql
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Setting up PHP"
PHPVER=$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION . "\n";')
+1 -1
View File
@@ -23,7 +23,7 @@ $STD apt-get install -y \
redis-server
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Adding PHP Repository"
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
+1 -1
View File
@@ -14,7 +14,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing NUT"
$STD apt-get install -y nut-client
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt-get install -y \
composer
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Adding PHP8.4 Repository"
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt-get install -y \
git
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Setup Pf2eTools"
cd /opt
+1 -1
View File
@@ -21,7 +21,7 @@ $STD apt-get install -y \
php-pear
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setting up MariaDB"
DB_NAME=phpipam
+1 -1
View File
@@ -19,7 +19,7 @@ $STD apt-get install -y \
git
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pm2" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="pm2" setup_nodejs
msg_info "Installing Pingvin Share (Patience)"
cd /opt
+103
View File
@@ -0,0 +1,103 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Slaviša Arežina (tremor021)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/plankanban/planka
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 \
unzip \
build-essential \
python3-venv
msg_ok "Installed dependencies"
NODE_VERSION="22" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL Database"
DB_NAME=planka
DB_USER=planka
DB_PASS=$(openssl rand -base64 16 | tr -d '/+=')
$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 "PLANKA DB Credentials"
echo "PLANKA Database User: $DB_USER"
echo "PLANKA Database Password: $DB_PASS"
echo "PLANKA Database Name: $DB_NAME"
} >>~/planka.creds
msg_ok "Set up PostgreSQL Database"
fetch_and_deploy_gh_release "planka" "plankanban/planka" "prebuild" "latest" "/opt/planka" "planka-prebuild.zip"
msg_info "Configuring PLANKA"
LOCAL_IP=$(hostname -I | awk '{print $1}')
SECRET_KEY=$(openssl rand -hex 64)
cd /opt/planka/planka
$STD npm install
cp .env.sample .env
sed -i "s#http://localhost:1337#http://$LOCAL_IP:1337#g" /opt/planka/planka/.env
sed -i "s#postgres@localhost#planka:$DB_PASS@localhost#g" /opt/planka/planka/.env
sed -i "s#notsecretkey#$SECRET_KEY#g" /opt/planka/planka/.env
$STD npm run db:init
msg_ok "Configured PLANKA"
msg_info "Creating Admin User"
ADMIN_EMAIL="admin@planka.local"
ADMIN_PASSWORD="$(openssl rand -base64 12)"
ADMIN_NAME="Administrator"
ADMIN_USERNAME="admin"
echo "" >>.env
echo "# Temporary admin user creation settings" >>.env
echo "DEFAULT_ADMIN_EMAIL=$ADMIN_EMAIL" >>.env
echo "DEFAULT_ADMIN_PASSWORD=$ADMIN_PASSWORD" >>.env
echo "DEFAULT_ADMIN_NAME=$ADMIN_NAME" >>.env
echo "DEFAULT_ADMIN_USERNAME=$ADMIN_USERNAME" >>.env
$STD npm run db:seed
sed -i '/# Temporary admin user creation settings/,$d' .env
{
echo ""
echo "PLANKA Admin Credentials"
echo "Admin Email: $ADMIN_EMAIL"
echo "Admin Password: $ADMIN_PASSWORD"
echo "Admin Name: $ADMIN_NAME"
echo "Admin Username: $ADMIN_USERNAME"
} >>~/planka.creds
msg_ok "Created Admin User"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/planka.service
[Unit]
Description=planka Service
After=network.target
[Service]
WorkingDirectory=/opt/planka/planka
ExecStart=/usr/bin/npm start --prod
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now planka
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+7 -7
View File
@@ -15,11 +15,11 @@ update_os
msg_info "Installing Dependencies"
$STD apt-get install -y \
redis \
nginx
redis \
nginx
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setting up Adoptium Repository"
mkdir -p /etc/apt/keyrings
@@ -41,10 +41,10 @@ $STD mariadb -u root -e "CREATE DATABASE $DB_NAME;"
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{
echo "Plant-it Credentials"
echo "Plant-it Database User: $DB_USER"
echo "Plant-it Database Password: $DB_PASS"
echo "Plant-it Database Name: $DB_NAME"
echo "Plant-it Credentials"
echo "Plant-it Database User: $DB_USER"
echo "Plant-it Database Password: $DB_PASS"
echo "Plant-it Database Name: $DB_NAME"
} >>~/plant-it.creds
msg_ok "Set up MariaDB"
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
PG_VERSION="17" install_postgresql
PG_VERSION="17" setup_postgresql
cat <<EOF >/etc/postgresql/17/main/pg_hba.conf
# PostgreSQL Client Authentication Configuration File
+1 -1
View File
@@ -20,7 +20,7 @@ $STD apt-get install -y \
php8.2-{pdo,mysql,mbstring,gettext,fileinfo,gd,xml,zip}
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setting up MariaDB"
DB_NAME=projectsend
+1 -1
View File
@@ -19,7 +19,7 @@ $STD apt-get install -y \
ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="playactor" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="playactor" setup_nodejs
msg_info "Installing PS5-MQTT"
RELEASE=$(curl -fsSL https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name')
+1 -1
View File
@@ -21,7 +21,7 @@ $STD apt-get install -y \
composer
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Adding PHP8.4 Repository"
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
+1 -2
View File
@@ -28,7 +28,7 @@ else
exit 1
fi
NODE_VERSION="20" install_node_and_modules
NODE_VERSION="20" setup_nodejs
msg_info "Setup Pulse"
RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
@@ -41,7 +41,6 @@ chown pulse:pulse /opt/pulse/.env
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed Pulse"
msg_info "Setting permissions for /opt/pulse..."
chown -R pulse:pulse "/opt/pulse"
find "/opt/pulse" -type d -exec chmod 755 {} \;
+2 -2
View File
@@ -19,8 +19,8 @@ curl -fsSL https://dl.min.io/server/minio/release/linux-arm64/minio.deb -o minio
$STD dpkg -i minio.deb
msg_ok "Installed Dependencies"
PG_VERSION="16" PG_MODULES="common" install_postgresql
NODE_VERSION="22" NODE_MODULE="pnpm@latest" install_node_and_modules
PG_VERSION="16" PG_MODULES="common" setup_postgresql
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
msg_info "Setting up Database"
DB_USER="rxresume"
+1 -1
View File
@@ -13,7 +13,7 @@ setting_up_container
network_check
update_os
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Setup ${APPLICATION}"
temp_file=$(mktemp)
+3 -3
View File
@@ -19,9 +19,9 @@ $STD apt-get install -y \
gcc
msg_ok "Installed Dependencies"
install_go
NODE_VERSION="22" install_node_and_modules
fetch_and_deploy_gh_release "YuukanOO/seelf"
setup_go
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "seelf" "YuukanOO/seelf"
msg_info "Setting up seelf. Patience"
cd /opt/seelf
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y sqlite3
msg_ok "Installed Dependencies"
install_go
setup_go
msg_info "Installing SFTPGo"
curl -fsSL https://ftp.osuosl.org/pub/sftpgo/apt/gpg.key | gpg --dearmor -o /usr/share/keyrings/sftpgo-archive-keyring.gpg
+2 -2
View File
@@ -19,8 +19,8 @@ $STD apt-get install -y gcc g++ cmake
$STD apt-get install -y ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
install_mariadb
NODE_VERSION="22" setup_nodejs
setup_mariadb
msg_info "Installing FFMPEG"
$STD apt-get install -y ffmpeg
+1 -1
View File
@@ -21,7 +21,7 @@ $STD apt-get install -y \
php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli}
msg_ok "Installed Dependencies"
install_mariadb
setup_mariadb
msg_info "Setting up database"
DB_NAME=snipeit_db
+2 -2
View File
@@ -16,9 +16,9 @@ update_os
NODE_VERSION="22"
NODE_MODULE="npm@latest,yarn@latest"
install_node_and_modules
setup_nodejs
setup_uv
fetch_and_deploy_gh_release "CrazyWolf13/streamlink-webui"
fetch_and_deploy_gh_release "streamlink-webui" "CrazyWolf13/streamlink-webui"
msg_info "Setup ${APPLICATION}"
mkdir -p "/opt/${APPLICATION}-download"
+1 -1
View File
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt-get install -y libc++-dev
msg_ok "Installed Dependencies"
JAVA_VERSION=21 install_java
JAVA_VERSION=21 setup_java
msg_info "Settting up Suwayomi-Server"
temp_file=$(mktemp)
+1 -1
View File
@@ -42,7 +42,7 @@ $STD apt-get install -y \
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Setup Python3"
NODE_VERSION="20" NODE_MODULE="yarn@latest" install_node_and_modules
NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Installing Tandoor (Patience)"
$STD git clone https://github.com/TandoorRecipes/recipes -b master /opt/tandoor
+1 -1
View File
@@ -22,7 +22,7 @@ msg_info "Setup Python3"
$STD apt-get install -y python3-venv
msg_ok "Setup Python3"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
msg_info "Setup Platformio"
curl -fsSL -o get-platformio.py https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py
+1 -1
View File
@@ -18,7 +18,7 @@ $STD apt-get install -y \
build-essential
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" install_node_and_modules
NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
msg_info "Installing The Lounge"
cd /opt
+2 -2
View File
@@ -26,8 +26,8 @@ $STD apt-get install -y \
jq
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/msgbyte/tianji/master/package.json | jq -r '.packageManager | split("@")[1]')" install_node_and_modules
PG_VERSION="16" install_postgresql
NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/msgbyte/tianji/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Setting up PostgreSQL"
DB_NAME=tianji_db
+2 -2
View File
@@ -17,8 +17,8 @@ msg_info "Installing Dependencies"
$STD apt-get install -y git
msg_ok "Installed Dependencies"
NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules
PG_VERSION="16" install_postgresql
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
PG_VERSION="16" setup_postgresql
msg_info "Setting up postgresql"
DB_NAME=umamidb
+1 -1
View File
@@ -18,7 +18,7 @@ $STD apt-get install -y git
$STD apt-get install -y ca-certificates
msg_ok "Installed Dependencies"
NODE_VERSION="22" install_node_and_modules
NODE_VERSION="22" setup_nodejs
msg_info "Installing Uptime Kuma"
$STD git clone https://github.com/louislam/uptime-kuma.git
+4
View File
@@ -13,6 +13,10 @@ setting_up_container
network_check
update_os
msg_info "Installing dependencies"
$STD apt-get install -y zstd
msg_ok "Installed dependencies"
msg_info "Installing Wastebin"
temp_file=$(mktemp)
RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')

Some files were not shown because too many files have changed in this diff Show More