Merge remote-tracking branch 'upstream/main' into main_local

This commit is contained in:
Sam Heinz
2025-01-30 14:54:59 +10:00
561 changed files with 8146 additions and 1720 deletions
+10 -7
View File
@@ -18,9 +18,8 @@ $STD apt-get install -y \
curl \
sudo \
mc \
tini \
gpg \
git \
jq \
build-essential \
wget \
openssh-server
@@ -29,7 +28,7 @@ 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_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
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"
@@ -38,10 +37,12 @@ $STD apt-get install -y nodejs
$STD npm install --global yarn
msg_ok "Installed Node.js"
RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual-server/tags | jq --raw-output '.[0].name')
msg_info "Installing Actual Budget $RELEASE"
wget -q https://codeload.github.com/actualbudget/actual-server/legacy.tar.gz/refs/tags/${RELEASE} -O - | tar -xz
mv actualbudget-actual-server-* /opt/actualbudget
msg_info "Installing Actual Budget"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q https://github.com/actualbudget/actual-server/archive/refs/tags/v${RELEASE}.tar.gz
tar -xzf v${RELEASE}.tar.gz
mv *ctual-server-* /opt/actualbudget
mkdir -p /opt/actualbudget/server-files
mkdir -p /opt/actualbudget-data
chown -R root:root /opt/actualbudget/server-files
@@ -54,6 +55,7 @@ PORT=5006
EOF
cd /opt/actualbudget
$STD yarn install
echo "${RELEASE}" >"/opt/actualbudget_version.txt"
msg_ok "Installed Actual Budget"
msg_info "Creating Service"
@@ -82,6 +84,7 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -rf /opt/v${RELEASE}.tar.gz
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+2 -2
View File
@@ -21,13 +21,13 @@ $STD apt-get install -y wget
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing Bazarr"
mkdir -p /var/lib/bazarr/
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Michelle Zitzerman (Sinofage)
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
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 \
curl \
tar \
sudo \
mc
msg_ok "Installed Dependencies"
msg_info "Installing Beszel"
mkdir -p /opt/beszel
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee /opt/beszel/beszel >/dev/null
chmod +x /opt/beszel/beszel
msg_ok "Installed Beszel"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/beszel-hub.service
[Unit]
Description=Beszel Hub Service
After=network.target
[Service]
ExecStart=/opt/beszel/beszel serve --http "0.0.0.0:8090"
WorkingDirectory=/opt/beszel
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now beszel-hub.service
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+36 -5
View File
@@ -1,9 +1,8 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
@@ -14,7 +13,16 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y {debian-keyring,debian-archive-keyring,apt-transport-https,gpg,curl,sudo,mc,wget,openssh-server}
$STD apt-get install -y \
debian-keyring \
debian-archive-keyring \
apt-transport-https \
gpg \
curl \
sudo \
mc \
wget \
openssh-server
msg_ok "Installed Dependencies"
msg_info "Installing Caddy"
@@ -24,6 +32,29 @@ $STD apt-get update
$STD apt-get install -y caddy
msg_ok "Installed Caddy"
read -r -p "Would you like to install xCaddy Addon? <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
msg_info "Installing Golang"
cd /opt
set +o pipefail
GOLANG=$(curl -s https://go.dev/dl/ | grep -o "go.*\linux-amd64.tar.gz" | head -n 1)
wget -q https://golang.org/dl/$GOLANG
tar -xzf $GOLANG -C /usr/local
ln -s /usr/local/go/bin/go /usr/local/bin/go
set -o pipefail
rm -rf /opt/go*
msg_ok "Installed Golang"
msg_info "Setup xCaddy"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
wget -q https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb
$STD dpkg -i xcaddy_${RELEASE:1}_linux_amd64.deb
rm -rf /opt/xcaddy*
$STD xcaddy build
msg_ok "Setup xCaddy"
fi
motd_ssh
customize
+1
View File
@@ -37,6 +37,7 @@ msg_ok "Installed Kepubify"
msg_info "Installing Calibre-Web"
mkdir -p /opt/calibre-web
$STD apt-get install -y calibre
$STD wget https://github.com/janeczku/calibre-web/raw/master/library/metadata.db -P /opt/calibre-web
$STD pip install calibreweb
$STD pip install jsonschema
+2 -2
View File
@@ -49,13 +49,13 @@ $STD apt-get install -y \
openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
+2 -2
View File
@@ -21,13 +21,13 @@ $STD apt-get install -y python3-libtorrent
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing Deluge"
$STD pip install deluge[all]
+2 -2
View File
@@ -22,14 +22,14 @@ $STD apt-get install -y wget
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-pip \
python3-venv
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing ESPHome"
mkdir /root/config
+2 -2
View File
@@ -18,11 +18,11 @@ msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y {curl,sudo,mc,git,gpg,automake,build-essential,xz-utils,libtool,ccache,pkg-config,libgtk-3-dev,libavcodec-dev,libavformat-dev,libswscale-dev,libv4l-dev,libxvidcore-dev,libx264-dev,libjpeg-dev,libpng-dev,libtiff-dev,gfortran,openexr,libatlas-base-dev,libssl-dev,libtbb2,libtbb-dev,libdc1394-22-dev,libopenexr-dev,libgstreamer-plugins-base1.0-dev,libgstreamer1.0-dev,gcc,gfortran,libopenblas-dev,liblapack-dev,libusb-1.0-0-dev,jq,moreutils,wget,openssh-server,ca-certificates}
msg_ok "Installed Dependencies"
msg_info "Installing Python3 Dependencies"
msg_info "Setup Python3"
$STD apt-get install -y {python3,python3-dev,python3-setuptools,python3-distutils,python3-pip}
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
$STD pip install --upgrade pip
msg_ok "Installed Python3 Dependencies"
msg_ok "Setup Python3"
msg_info "Installing Node.js"
mkdir -p /etc/apt/keyrings
+30 -22
View File
@@ -1,10 +1,8 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 tteck
# Author: tteck (tteckster)
# Co-Author: MickLesk (Canbiz)
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# 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/ajnart/homarr
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
@@ -20,6 +18,7 @@ $STD apt-get install -y \
sudo \
mc \
curl \
redis-server \
ca-certificates \
gnupg \
make \
@@ -32,32 +31,40 @@ 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_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
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/Yarn"
msg_info "Installing Node.js/pnpm"
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g yarn
msg_ok "Installed Node.js/Yarn"
$STD npm install -g pnpm@latest
msg_ok "Installed Node.js/pnpm"
msg_info "Installing Homarr (Patience)"
RELEASE=$(curl -s https://api.github.com/repos/ajnart/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q "https://github.com/ajnart/homarr/archive/refs/tags/v${RELEASE}.zip"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip
rm -rf v${RELEASE}.zip
mv homarr-${RELEASE} /opt/homarr
mkdir -p /opt/homarr_db
touch /opt/homarr_db/db.sqlite
AUTH_SECRET="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
SECRET_ENCRYPTION_KEY="$(openssl rand -hex 32)"
cat <<EOF >/opt/homarr/.env
DATABASE_URL="file:./database/db.sqlite"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="$(openssl rand -base64 32)"
NEXT_PUBLIC_DISABLE_ANALYTICS="true"
DEFAULT_COLOR_SCHEME="dark"
AUTH_SECRET='${AUTH_SECRET}'
DB_DRIVER='better-sqlite3'
SECRET_ENCRYPTION_KEY='${SECRET_ENCRYPTION_KEY}'
DB_URL='/opt/homarr_db/db.sqlite'
TURBO_TELEMETRY_DISABLED=1
EOF
cd /opt/homarr
$STD yarn install
$STD yarn build
$STD yarn db:migrate
$STD pnpm install
$STD pnpm run db:migration:sqlite:run
$STD pnpm build
mkdir build
cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Homarr"
@@ -71,18 +78,19 @@ After=network.target
Type=exec
WorkingDirectory=/opt/homarr
EnvironmentFile=-/opt/homarr/.env
ExecStart=/usr/bin/yarn start
ExecStart=/usr/bin/pnpm start
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now homarr.service
systemctl enable -q --now homarr
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf /opt/v${RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+1 -1
View File
@@ -51,7 +51,7 @@ $STD apt-get install -y \
openssh-server
msg_ok "Installed Dependencies"
msg_info "Setup Python3/pip"
msg_info "Setup Python3"
$STD apt-get update
$STD rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
$STD apt-get remove --purge -y python3.12 python3.12-dev python3.12-venv
+2 -2
View File
@@ -21,14 +21,14 @@ $STD apt-get install -y wget
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-pip \
python3-venv
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing runlike"
$STD pip install runlike
+1
View File
@@ -53,6 +53,7 @@ EOF
# Install Jellyfin using the metapackage (which will fetch jellyfin-server, jellyfin-web, and jellyfin-ffmpeg5)
$STD apt-get update
$STD apt-get install -y jellyfin
sed -i 's/"MinimumLevel": "Information"/"MinimumLevel": "Error"/g' /etc/jellyfin/logging.json
chown -R jellyfin:adm /etc/jellyfin
sleep 10
systemctl restart jellyfin
+18 -2
View File
@@ -24,12 +24,27 @@ $STD apt-get install -y \
expect \
composer \
mariadb-server \
libapache2-mod-php \
php8.2-{mbstring,gd,intl,pdo,mysql,tokenizer,zip,xml} \
lsb-release \
wget \
openssh-server
msg_ok "Installed Dependencies"
msg_info "Setup PHP8.4 Repository"
$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
$STD sh -c '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
msg_ok "Setup PHP8.4 Repository"
msg_info "Setup PHP"
$STD apt-get remove -y php8.2*
#$STD apt-get remove -y php8.3*
$STD apt-get install -y \
php8.3 \
php8.3-{mbstring,gd,intl,common,mysql,zip,xml} \
libapache2-mod-php8.3
msg_info "Setup PHP"
msg_info "Setting up database"
DB_NAME=kimai_db
DB_USER=kimai
@@ -74,6 +89,7 @@ send "helper-scripts.com\r"
expect eof
EOF
$STD composer update --no-interaction
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed Kimai"
+104
View File
@@ -0,0 +1,104 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: bvdberg01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
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 \
curl \
sudo \
mc \
gnupg2\
mariadb-server \
apache2 \
libapache2-mod-php \
php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \
composer
msg_ok "Installed Dependencies"
msg_info "Setting up MariaDB"
DB_NAME=monica
DB_USER=monica
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
$STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{
echo "monica-Credentials"
echo "monica Database User: $DB_USER"
echo "monica Database Password: $DB_PASS"
echo "monica Database Name: $DB_NAME"
} >> ~/monica.creds
msg_ok "Set up MariaDB"
msg_info "Setting up Node.js/Yarn"
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_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update
$STD apt-get install -y nodejs
$STD npm install -g npm@latest
$STD npm install -g yarn
msg_ok "Installed Node.js/Yarn"
msg_info "Installing monica"
RELEASE=$(curl -s https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
cd /opt
wget -q "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2"
tar -xjf "monica-v${RELEASE}.tar.bz2"
mv "/opt/monica-v${RELEASE}" /opt/monica
cd /opt/monica
cp /opt/monica/.env.example /opt/monica/.env
HASH_SALT=$(openssl rand -base64 32)
sed -i -e "s|^DB_USERNAME=.*|DB_USERNAME=${DB_USER}|" \
-e "s|^DB_PASSWORD=.*|DB_PASSWORD=${DB_PASS}|" \
-e "s|^HASH_SALT=.*|HASH_SALT=${HASH_SALT}|" \
/opt/monica/.env
$STD composer install --no-dev -o --no-interaction
$STD yarn install
$STD yarn run production
$STD php artisan key:generate
$STD php artisan setup:production --email=admin@helper-scripts.com --password=helper-scripts.com --force
chown -R www-data:www-data /opt/monica
chmod -R 775 /opt/monica/storage
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed monica"
msg_info "Creating Service"
cat <<EOF >/etc/apache2/sites-available/monica.conf
<VirtualHost *:80>
ServerName monica
DocumentRoot /opt/monica/public
<Directory /opt/monica/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/monica_error.log
CustomLog /var/log/apache2/monica_access.log combined
</VirtualHost>
EOF
$STD a2ensite monica
$STD a2enmod rewrite
$STD a2dissite 000-default.conf
$STD systemctl reload apache2
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf "/opt/monica-v${RELEASE}.tar.bz2"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+2 -2
View File
@@ -23,13 +23,13 @@ $STD apt-get install -y wget
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing Motion"
$STD apt-get install -y motion
+2 -2
View File
@@ -28,11 +28,11 @@ $STD apt-get install -y unrar
rm /etc/apt/sources.list.d/non-free.list
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
$STD pip install -U --no-cache-dir pip
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing ${APPLICATION}"
mkdir -p /opt/mylar3
+164
View File
@@ -0,0 +1,164 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024 tteck
# Author: MickLesk (Canbiz)
# License: MIT | https://github.com/tteck/Proxmox/raw/main/LICENSE
# Source: https://github.com/NodeBB/NodeBB
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y \
build-essential \
curl \
sudo \
make \
redis-server \
expect \
gnupg \
ca-certificates \
mc
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js & MongoDB 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
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | gpg --dearmor -o /etc/apt/keyrings/mongodb-server-8.0.gpg
echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/mongodb-server-8.0.gpg] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-8.0.list
$STD apt-get update
msg_ok "Set up Repositories"
msg_info "Installing Node.js"
$STD apt-get install -y nodejs
msg_ok "Installed Node.js"
msg_info "Installing MongoDB"
$STD apt-get install -y mongodb-org
systemctl enable -q --now mongod
sleep 10 # MongoDB needs some secounds to start, if not sleep it collide with following mongosh
msg_ok "Installed MongoDB"
msg_info "Configure MongoDB"
MONGO_ADMIN_USER="admin"
MONGO_ADMIN_PWD="$(openssl rand -base64 18 | cut -c1-13)"
NODEBB_USER="nodebb"
NODEBB_PWD="$(openssl rand -base64 18 | cut -c1-13)"
MONGO_CONNECTION_STRING="mongodb://${NODEBB_USER}:${NODEBB_PWD}@localhost:27017/nodebb"
NODEBB_SECRET=$(uuidgen)
{
echo "NodeBB-Credentials"
echo "Mongo Database User: $MONGO_ADMIN_USER"
echo "Mongo Database Password: $MONGO_ADMIN_PWD"
echo "NodeBB User: $NODEBB_USER"
echo "NodeBB Password: $NODEBB_PWD"
echo "NodeBB Secret: $NODEBB_SECRET"
} >> ~/nodebb.creds
$STD mongosh <<EOF
use admin
db.createUser({
user: "$MONGO_ADMIN_USER",
pwd: "$MONGO_ADMIN_PWD",
roles: [{ role: "root", db: "admin" }]
})
use nodebb
db.createUser({
user: "$NODEBB_USER",
pwd: "$NODEBB_PWD",
roles: [
{ role: "readWrite", db: "nodebb" },
{ role: "clusterMonitor", db: "admin" }
]
})
quit()
EOF
sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/' /etc/mongod.conf
sed -i '/security:/d' /etc/mongod.conf
bash -c 'echo -e "\nsecurity:\n authorization: enabled" >> /etc/mongod.conf'
systemctl restart mongod
msg_ok "MongoDB successfully configurated"
msg_info "Install NodeBB"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip
mv NodeBB-${RELEASE} /opt/nodebb
cd /opt/nodebb
touch pidfile
expect <<EOF > /dev/null 2>&1
log_file /dev/null
set timeout -1
spawn ./nodebb setup
expect "URL used to access this NodeBB" {
send "http://localhost:4567\r"
}
expect "Please enter a NodeBB secret" {
send "$NODEBB_SECRET\r"
}
expect "Would you like to submit anonymous plugin usage to nbbpm? (yes)" {
send "no\r"
}
expect "Which database to use (mongo)" {
send "mongo\r"
}
expect "Format: mongodb://*" {
send "$MONGO_CONNECTION_STRING\r"
}
expect "Administrator username" {
send "helper-scripts\r"
}
expect "Administrator email address" {
send "helper-scripts@local.com\r"
}
expect "Password" {
send "helper-scripts\r"
}
expect "Confirm Password" {
send "helper-scripts\r"
}
expect eof
EOF
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed NodeBB"
msg_info "Creating Services"
cat <<EOF >/etc/systemd/system/nodebb.service
[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service
[Service]
Type=forking
User=root
WorkingDirectory=/opt/nodebb
PIDFile=/opt/nodebb/pidfile
ExecStart=/usr/bin/node /opt/nodebb/loader.js
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now nodebb
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -R /opt/v${RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+2 -2
View File
@@ -24,7 +24,7 @@ $STD apt-get install -y wget
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
@@ -33,7 +33,7 @@ $STD apt-get install -y \
$STD apt-get install -y python3-setuptools
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Creating user octoprint"
useradd -m -s /bin/bash -p $(openssl passwd -1 octoprint) octoprint
+3 -3
View File
@@ -23,13 +23,13 @@ $STD apt-get install -y wget
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Installing Azul Zulu"
msg_info "Installing Azul Zulu21"
wget -qO /etc/apt/trusted.gpg.d/zulu-repo.asc "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9"
wget -q https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb
$STD dpkg -i zulu-repo_1.0.0-3_all.deb
$STD apt-get update
$STD apt-get -y install zulu17-jdk
msg_ok "Installed Azul Zulu"
$STD apt-get -y install zulu21-jdk
msg_ok "Installed Azul Zulu21"
msg_info "Installing openHAB"
curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor >openhab.gpg
+6 -5
View File
@@ -14,7 +14,7 @@ network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y --no-install-recommends \
$STD apt-get install -y \
redis \
postgresql \
build-essential \
@@ -43,7 +43,7 @@ $STD apt-get install -y --no-install-recommends \
msg_ok "Installed Dependencies"
msg_info "Installing Python3 Dependencies (Patience)"
$STD apt-get install -y --no-install-recommends \
$STD apt-get install -y \
python3 \
python3-pip \
python3-dev \
@@ -52,7 +52,7 @@ $STD apt-get install -y --no-install-recommends \
msg_ok "Installed Python3 Dependencies"
msg_info "Installing OCR Dependencies (Patience)"
$STD apt-get install -y --no-install-recommends \
$STD apt-get install -y \
unpaper \
icc-profiles-free \
qpdf \
@@ -62,7 +62,7 @@ $STD apt-get install -y --no-install-recommends \
zlib1g \
tesseract-ocr \
tesseract-ocr-eng
cd /tmp
wget -q https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz
$STD tar -xzf ghostscript-10.04.0.tar.gz
@@ -199,6 +199,7 @@ Requires=redis.service
[Service]
WorkingDirectory=/opt/paperless/src
ExecStartPre=/bin/sleep 2
ExecStart=python3 manage.py document_consumer
[Install]
@@ -223,7 +224,7 @@ EOF
sed -i -e 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"/' /etc/ImageMagick-6/policy.xml
systemctl daemon-reload
$STD systemctl enable --now paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service
$STD systemctl enable -q --now paperless-webserver paperless-scheduler paperless-task-queue paperless-consumer
msg_ok "Created Services"
motd_ssh
+31 -21
View File
@@ -14,35 +14,37 @@ network_check
update_os
msg_info "Installing Dependencies (Patience)"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
$STD apt-get install -y exiftool
$STD apt-get install -y ffmpeg
$STD apt-get install -y libheif1
$STD apt-get install -y libpng-dev
$STD apt-get install -y libjpeg-dev
$STD apt-get install -y libtiff-dev
$STD apt-get install -y imagemagick
$STD apt-get install -y darktable
$STD apt-get install -y rawtherapee
$STD apt-get install -y libvips42
$STD apt-get install -y wget
$STD apt-get install -y openssh-server
$STD apt-get install -y \
curl \
sudo \
mc \
exiftool \
ffmpeg \
libheif1 \
libpng-dev \
libjpeg-dev \
libtiff-dev \
imagemagick \
darktable \
rawtherapee \
libvips42 \
lsb-release \
wget \
openssh-server
echo 'export PATH=/usr/local:$PATH' >>~/.bashrc
export PATH=/usr/local:$PATH
msg_ok "Installed Dependencies"
msg_info "Installing PhotoPrism (Patience)"
mkdir -p /opt/photoprism/{cache,config,photos/originals,photos/import,storage,temp}
mkdir -p /opt/photoprism/{cache,config,photos,storage,temp}
mkdir -p /opt/photoprism/photos/{originals,import}
mkdir -p /opt/photoprism_backups
wget -q -cO - https://dl.photoprism.app/pkg/linux/arm64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1
if [[ ${PCT_OSTYPE} == "ubuntu" ]]; then
wget -q -cO - https://dl.photoprism.app/dist/libheif/libheif-jammy-arm64-v1.17.1.tar.gz | tar -xzf - -C /usr/local --strip-components=1
else
wget -q -cO - https://dl.photoprism.app/dist/libheif/libheif-bookworm-arm64-v1.17.1.tar.gz | tar -xzf - -C /usr/local --strip-components=1
fi
LIBHEIF_URL=$(wget -q -O - "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-arm64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1)
wget -q -cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1
ldconfig
chmod -R 755 /opt/photoprism/photos/originals
cat <<EOF >/opt/photoprism/config/.env
PHOTOPRISM_AUTH_MODE='password'
PHOTOPRISM_ADMIN_PASSWORD='helper-scripts.com'
@@ -52,6 +54,14 @@ PHOTOPRISM_SITE_CAPTION='https://tteck.github.io/Proxmox/'
PHOTOPRISM_STORAGE_PATH='/opt/photoprism/storage'
PHOTOPRISM_ORIGINALS_PATH='/opt/photoprism/photos/originals'
PHOTOPRISM_IMPORT_PATH='/opt/photoprism/photos/import'
PHOTOPRISM_BACKUP_PATH='/opt/photoprism_backups'
PHOTOPRISM_DATABASE_DRIVER='sqlite'
PHOTOPRISM_DISABLE_WEBDAV='false'
PHOTOPRISM_DISABLE_FACES='false'
PHOTOPRISM_AUTO_INDEX='300'
PHOTOPRISM_AUTO_IMPORT='-1'
PHOTOPRISM_PUBLIC='false'
PHOTOPRISM_DEBUG='false'
EOF
ln -sf /opt/photoprism/bin/photoprism /usr/local/bin/photoprism
msg_ok "Installed PhotoPrism"
+18 -12
View File
@@ -2,6 +2,7 @@
# Copyright (c) 2021-2024 tteck
# Author: tteck (tteckster)
# Co-Author: michelroegl-brunner
# License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE
@@ -14,13 +15,14 @@ network_check
update_os
msg_info "Installing Dependencies"
$STD apt-get install -y curl
$STD apt-get install -y sudo
$STD apt-get install -y mc
$STD apt-get install -y git
$STD apt-get install -y gnupg
$STD apt-get install -y wget
$STD apt-get install -y openssh-server
$STD apt-get install -y \
curl \
sudo \
mc \
git \
gnupg \
wget \
openssh-server
msg_ok "Installed Dependencies"
msg_info "Setting up Node.js Repository"
@@ -36,11 +38,14 @@ $STD npm install pm2 -g
msg_ok "Installed Node.js"
msg_info "Installing Pingvin Share (Patience)"
git clone -q https://github.com/stonith404/pingvin-share /opt/pingvin-share
cd /opt/pingvin-share
$STD git fetch --tags
$STD git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
cd backend
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
wget -q "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip
echo "${RELEASE}" >"/opt/pingvin_version.txt"
mv pingvin-share-${RELEASE} /opt/pingvin-share
cd /opt/pingvin-share/backend
$STD npm install
$STD npm run build
$STD pm2 start --name="pingvin-share-backend" npm -- run prod
@@ -59,6 +64,7 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -rf /opt/v${RELEASE}.zip
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+130
View File
@@ -0,0 +1,130 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Snarkenfaugister
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/stonith404/pocket-id
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 \
curl \
sudo \
mc \
gpg \
caddy \
gcc
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
msg_ok "Installed Node.js"
msg_info "Installing Golang"
cd /tmp
set +o pipefail
GO_RELEASE=$(curl -s https://go.dev/dl/ | grep -o -m 1 "go.*\linux-amd64.tar.gz")
wget -q https://golang.org/dl/${GO_RELEASE}
tar -xzf ${GO_RELEASE} -C /usr/local
ln -s /usr/local/go/bin/go /usr/bin/go
set -o pipefail
msg_ok "Installed Golang"
read -r -p "What public URL do you want to use (e.g. pocketid.mydomain.com)? " public_url
msg_info "Setup Pocket ID"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/stonith404/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q "https://github.com/stonith404/pocket-id/archive/refs/tags/v${RELEASE}.zip"
unzip -q v${RELEASE}.zip
mv pocket-id-${RELEASE}/ /opt/pocket-id
cd /opt/pocket-id/backend
cp .env.example .env
sed -i "s/PUBLIC_APP_URL=http:\/\/localhost/PUBLIC_APP_URL=https:\/\/${public_url}/" .env
cd cmd
CGO_ENABLED=1
GOOS=linux
$STD go build -o ../pocket-id-backend
cd ../../frontend
cp .env.example .env
sed -i "s/PUBLIC_APP_URL=http:\/\/localhost/PUBLIC_APP_URL=https:\/\/${public_url}/" .env
$STD npm install
$STD npm run build
cd ..
cp reverse-proxy/Caddyfile /etc/caddy/Caddyfile
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Setup Pocket ID"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/pocketid-backend.service
[Unit]
Description=Pocket ID Backend
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/pocket-id/backend
EnvironmentFile=/opt/pocket-id/backend/.env
ExecStart=/opt/pocket-id/backend/pocket-id-backend
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF >/etc/systemd/system/pocketid-frontend.service
[Unit]
Description=Pocket ID Frontend
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/pocket-id/frontend
EnvironmentFile=/opt/pocket-id/frontend/.env
ExecStart=/usr/bin/node build/index.js
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
msg_ok "Created Service"
msg_info "Starting Services"
systemctl enable -q --now pocketid-backend
systemctl enable -q --now pocketid-frontend
systemctl restart caddy
msg_ok "Started Services"
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"
motd_ssh
customize
+91
View File
@@ -0,0 +1,91 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: bvdberg01
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
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 \
curl \
sudo \
mc \
mariadb-server \
apache2 \
libapache2-mod-php \
php8.2-{pdo,mysql,mbstring,gettext,fileinfo,gd,xml,zip}
msg_ok "Installed Dependencies"
msg_info "Setting up MariaDB"
DB_NAME=projectsend
DB_USER=projectsend
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
$STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
{
echo "projectsend-Credentials"
echo "projectsend Database User: $DB_USER"
echo "projectsend Database Password: $DB_PASS"
echo "projectsend Database Name: $DB_NAME"
} >> ~/projectsend.creds
msg_ok "Set up MariaDB"
msg_info "Installing projectsend"
RELEASE=$(curl -s https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
cd /opt
wget -q "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip"
mkdir projectsend
unzip -q "projectsend-r${RELEASE}.zip" -d projectsend
mv /opt/projectsend/includes/sys.config.sample.php /opt/projectsend/includes/sys.config.php
chown -R www-data:www-data /opt/projectsend
chmod -R 775 /opt/projectsend
chmod 644 /opt/projectsend/includes/sys.config.php
sed -i -e "s/\(define('DB_NAME', \).*/\1'$DB_NAME');/" \
-e "s/\(define('DB_USER', \).*/\1'$DB_USER');/" \
-e "s/\(define('DB_PASSWORD', \).*/\1'$DB_PASS');/" \
/opt/projectsend/includes/sys.config.php
sed -i -e "s/^\(memory_limit = \).*/\1 256M/" \
-e "s/^\(post_max_size = \).*/\1 256M/" \
-e "s/^\(upload_max_filesize = \).*/\1 256M/" \
-e "s/^\(max_execution_time = \).*/\1 300/" \
/etc/php/8.2/apache2/php.ini
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
msg_ok "Installed projectsend"
msg_info "Creating Service"
cat <<EOF >/etc/apache2/sites-available/projectsend.conf
<VirtualHost *:80>
ServerName projectsend
DocumentRoot /opt/projectsend
<Directory /opt/projectsend>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/apache2/projectsend_error.log
CustomLog /var/log/apache2/projectsend_access.log combined
</VirtualHost>
EOF
$STD a2ensite projectsend
$STD a2enmod rewrite
$STD a2dissite 000-default.conf
$STD systemctl reload apache2
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf "/opt/projectsend-r${RELEASE}.zip"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
@@ -0,0 +1,70 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Andy Grunwald (andygrunwald)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/prometheus-pve/prometheus-pve-exporter
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 \
curl \
sudo \
mc
msg_ok "Installed Dependencies"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Setup Python3"
msg_info "Installing Prometheus Proxmox VE Exporter"
python3 -m pip install --quiet --root-user-action=ignore prometheus-pve-exporter
mkdir -p /opt/prometheus-pve-exporter
cat <<EOF > /opt/prometheus-pve-exporter/pve.yml
default:
user: prometheus@pve
password: sEcr3T!
verify_ssl: false
EOF
msg_ok "Installed Prometheus Proxmox VE Exporter"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/prometheus-pve-exporter.service
[Unit]
Description=Prometheus Proxmox VE Exporter
Documentation=https://github.com/znerol/prometheus-pve-exporter
After=syslog.target network.target
[Service]
User=root
Restart=always
Type=simple
ExecStart=pve_exporter \
--config.file=/opt/prometheus-pve-exporter/pve.yml \
--web.listen-address=0.0.0.0:9221
ExecReload=/bin/kill -HUP \$MAINPID
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now prometheus-pve-exporter
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+2 -2
View File
@@ -29,13 +29,13 @@ $STD apt-get install -y unrar
rm /etc/apt/sources.list.d/non-free.list
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3-dev \
python3-pip
$STD apt-get install -y python3-setuptools
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing SABnzbd"
RELEASE=$(curl -s https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
+64
View File
@@ -0,0 +1,64 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Kristian Skov
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y \
curl \
mc \
sudo \
gpg \
coreutils
msg_ok "Installed Dependencies"
msg_info "Setup SQL Server 2022"
$STD curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
$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 install -y mssql-server
msg_ok "Setup Server 2022"
msg_info "Installing SQL Server Tools"
export DEBIAN_FRONTEND=noninteractive
export ACCEPT_EULA=Y
curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | tee /etc/apt/sources.list.d/mssql-release.list
$STD apt-get update
$STD apt-get install -y -qq \
mssql-tools18 \
unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
source ~/.bash_profile
msg_ok "Installed SQL Server Tools"
read -r -p "Do you want to run the SQL server setup now? (Later is also possible) <y/N>" prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
/opt/mssql/bin/mssql-conf setup
else
msg_ok "Skipping SQL Server setup. You can run it later with '/opt/mssql/bin/mssql-conf setup'."
fi
msg_info "Start Service"
systemctl enable -q --now mssql-server
msg_ok "Service started"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+2 -2
View File
@@ -34,14 +34,14 @@ $STD apt-get install -y --no-install-recommends \
openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-setuptools \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings
+2 -2
View File
@@ -23,13 +23,13 @@ $STD apt-get install -y wget
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing Tautulli"
cd /opt
+1
View File
@@ -32,6 +32,7 @@ VERSION="${RELEASE#tc_v}"
wget -q "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip"
unzip -q -d "/opt/teddycloud-${VERSION}" "teddycloud.amd64.release_v${VERSION}.zip"
ln -fns "/opt/teddycloud-${VERSION}" /opt/teddycloud
rm -rf teddycloud.amd64.release_v${VERSION}.zip
echo "${VERSION}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed TeddyCloud"
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: Kristian Skov
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
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 \
curl \
sudo \
mc \
gnupg \
coreutils
msg_ok "Installed Dependencies"
msg_info "Installing UrBackup Server"
curl -fsSL https://download.opensuse.org/repositories/home:uroni/Debian_12/Release.key | gpg --dearmor >/etc/apt/trusted.gpg.d/home_uroni.gpg
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/home_uroni.gpg] http://download.opensuse.org/repositories/home:/uroni/Debian_12/ /' >/etc/apt/sources.list.d/home:uroni.list
$STD apt-get update -y
apt-get install -y -qq urbackup-server
msg_ok "Installed UrBackup Server"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
+2 -2
View File
@@ -21,13 +21,13 @@ $STD apt-get install -y wget
$STD apt-get install -y openssh-server
msg_ok "Installed Dependencies"
msg_info "Updating Python3"
msg_info "Setup Python3"
$STD apt-get install -y \
python3 \
python3-dev \
python3-pip
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
msg_ok "Updated Python3"
msg_ok "Setup Python3"
msg_info "Installing Whoogle"
$STD pip install brotli