mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-10-01 14:39:39 +00:00
Compare commits
12
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61a445b8d9 | ||
|
|
b6e15d256d | ||
|
|
2cf1457d70 | ||
|
|
7b6c174668 | ||
|
|
d48d21eff8 | ||
|
|
413731eeaf | ||
|
|
f4025da0dd | ||
|
|
2e923bc985 | ||
|
|
800c4a0297 | ||
|
|
f1c82c084b | ||
|
|
f0459bef32 | ||
|
|
311779b75b |
@@ -549,6 +549,25 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
</details>
|
||||
|
||||
## 2026-09-30
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Shoko ([#17617](https://github.com/community-scripts/ProxmoxVE/pull/17617))
|
||||
- SIlo ([#17614](https://github.com/community-scripts/ProxmoxVE/pull/17614))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix(blocky): restart on failure and wait for network-online [@haplo](https://github.com/haplo) ([#17601](https://github.com/community-scripts/ProxmoxVE/pull/17601))
|
||||
- SparkyFitness: update sed replacement [@tomfrenzel](https://github.com/tomfrenzel) ([#17604](https://github.com/community-scripts/ProxmoxVE/pull/17604))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- vm: autologin on the serial console for images without cloud-init [@MickLesk](https://github.com/MickLesk) ([core#80](https://github.com/community-scripts/core/pull/80))
|
||||
- download_gpg_key: make dearmored keyrings world-readable [@MickLesk](https://github.com/MickLesk) ([core#79](https://github.com/community-scripts/core/pull/79))
|
||||
|
||||
## 2026-09-29
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
@@ -31,7 +31,7 @@ function update_script() {
|
||||
fi
|
||||
msg_info "Updating Apache CouchDB"
|
||||
apt_update_safe
|
||||
$STD apt-get install -y --only-upgrade couchdb
|
||||
$STD apt install -y --only-upgrade couchdb
|
||||
msg_ok "Updated Apache CouchDB"
|
||||
msg_ok "Updated successfully!"
|
||||
exit
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ function update_script() {
|
||||
fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt_update_safe
|
||||
$STD apt-get -y upgrade
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
msg_ok "Updated successfully!"
|
||||
exit
|
||||
|
||||
@@ -31,7 +31,7 @@ function update_script() {
|
||||
fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt_update_safe
|
||||
$STD apt-get -y upgrade
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated successfully!"
|
||||
exit
|
||||
}
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ function update_script() {
|
||||
msg_ok "Backup created"
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y pkg-config
|
||||
$STD apt install -y pkg-config
|
||||
$STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:/usr/local/bin:$PATH"; cd /opt/frappe-bench && uv python install 3.14'
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@ function update_script() {
|
||||
GRAMPS_VERSION=$(/opt/gramps-web/venv/bin/python3 -c "import gramps.version; print('%s%s' % (gramps.version.VERSION_TUPLE[0], gramps.version.VERSION_TUPLE[1]))" 2>/dev/null || echo "60")
|
||||
GRAMPS_PLUGINS_DIR="/opt/gramps-web/data/gramps/gramps${GRAMPS_VERSION}/plugins"
|
||||
mkdir -p "$GRAMPS_PLUGINS_DIR"
|
||||
$STD wget -q https://github.com/gramps-project/addons/archive/refs/heads/master.zip -O /tmp/gramps-addons.zip
|
||||
curl -fsSL -o /tmp/gramps-addons.zip https://github.com/gramps-project/addons/archive/refs/heads/master.zip
|
||||
for addon in FilterRules JSON; do
|
||||
unzip -p /tmp/gramps-addons.zip "addons-master/gramps${GRAMPS_VERSION}/download/${addon}.addon.tgz" |
|
||||
tar -xz -C "$GRAMPS_PLUGINS_DIR"
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
_____ _ __
|
||||
/ ___/(_) /___
|
||||
\__ \/ / / __ \
|
||||
___/ / / / /_/ /
|
||||
/____/_/_/\____/
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ function update_script() {
|
||||
|
||||
msg_info "Updating packages"
|
||||
apt_update_safe
|
||||
$STD apt-get -y upgrade
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated packages"
|
||||
|
||||
msg_info "Backup old Keycloak"
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ function update_script() {
|
||||
|
||||
msg_info "Updating packages"
|
||||
apt_update_safe
|
||||
$STD apt-get dist-upgrade -y
|
||||
$STD apt dist-upgrade -y
|
||||
ensure_dependencies "inotify-tools"
|
||||
msg_ok "Updated packages"
|
||||
|
||||
|
||||
+2
-2
@@ -44,8 +44,8 @@ function update_script() {
|
||||
msg_info "Migrating to v4: Removing RabbitMQ"
|
||||
systemctl stop rabbitmq-server
|
||||
systemctl disable rabbitmq-server
|
||||
$STD apt-get purge -y rabbitmq-server erlang-base
|
||||
$STD apt-get autoremove -y
|
||||
$STD apt purge -y rabbitmq-server erlang-base
|
||||
$STD apt autoremove -y
|
||||
msg_ok "Removed RabbitMQ"
|
||||
fi
|
||||
|
||||
|
||||
+1
-1
@@ -109,7 +109,7 @@ function update_script() {
|
||||
if [[ -f /etc/angie/http.d/romm.conf ]]; then
|
||||
if ! grep -q "js_content decode.decodeBase64" /etc/angie/http.d/romm.conf; then
|
||||
msg_info "Adding missing /decode and /cache locations to Angie config"
|
||||
dpkg -l angie-module-njs &>/dev/null || $STD apt-get install -y angie-module-njs
|
||||
dpkg -l angie-module-njs &>/dev/null || $STD apt install -y angie-module-njs
|
||||
grep -q "ngx_http_js_module.so" /etc/angie/angie.conf || sed -i '1i load_module modules/ngx_http_js_module.so;' /etc/angie/angie.conf
|
||||
mkdir -p /etc/angie/js "${ROMM_BASE}/cache"
|
||||
cat <<'JSEOF' >/etc/angie/js/decode.js
|
||||
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/ShokoAnime/ShokoServer
|
||||
|
||||
APP="Shoko"
|
||||
var_tags="${var_tags:-media;anime}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-10}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_arm64="${var_arm64:-no}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -d /opt/shoko ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "shoko" "ShokoAnime/ShokoServer"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop shoko
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "shoko" "ShokoAnime/ShokoServer" "prebuild" "latest" "/opt/shoko" "Shoko.CLI_Framework_any-x64.zip"
|
||||
chmod +x /opt/shoko/Shoko.CLI
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start shoko
|
||||
msg_ok "Started Service"
|
||||
msg_ok "Updated successfully!"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW}Access it using the following URL:${CL}"
|
||||
echo -e "${GATEWAY}${BGN}http://${IP}:8111${CL}"
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
|
||||
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/pgsty/silo
|
||||
|
||||
APP="Silo"
|
||||
var_tags="${var_tags:-storage;s3}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_disk="${var_disk:-20}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
var_arm64="${var_arm64:-yes}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -f /usr/bin/silo ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if check_for_gh_release "silo" "pgsty/silo"; then
|
||||
msg_info "Stopping Silo"
|
||||
systemctl stop silo
|
||||
msg_ok "Stopped Silo"
|
||||
|
||||
DPKG_FORCE_CONFOLD=1 fetch_and_deploy_gh_release "silo" "pgsty/silo" "binary"
|
||||
|
||||
msg_info "Starting Silo"
|
||||
systemctl start silo
|
||||
msg_ok "Started Silo"
|
||||
msg_ok "Updated successfully!"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW}Console:${CL}"
|
||||
echo -e "${GATEWAY}${BGN}http://${IP}:9001${CL}"
|
||||
echo -e "${INFO}${YW}S3 API on port 9000 - root credentials are in /etc/default/silo${CL}"
|
||||
+1
-1
@@ -31,7 +31,7 @@ function update_script() {
|
||||
fi
|
||||
msg_info "Updating ${APP} LXC"
|
||||
apt_update_safe
|
||||
$STD apt-get -y upgrade
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated ${APP} LXC"
|
||||
msg_ok "Updated successfully!"
|
||||
exit
|
||||
|
||||
@@ -42,7 +42,7 @@ function update_script() {
|
||||
|
||||
msg_info "Updating UHF Server"
|
||||
if dpkg -l ffmpeg 2>&1 | grep -q "ii"; then
|
||||
apt remove ffmpeg -y && apt autoremove -y
|
||||
$STD apt remove -y ffmpeg && $STD apt autoremove -y
|
||||
fi
|
||||
setup_ffmpeg
|
||||
fetch_and_deploy_gh_release "comskip" "swapplications/comskip" "prebuild" "latest" "/opt/comskip" "comskip-$(arch_resolve "x64" "arm64")-*.zip"
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ function update_script() {
|
||||
fi
|
||||
msg_info "Updating OS"
|
||||
apt_update_safe
|
||||
$STD apt-get -y upgrade
|
||||
$STD apt -y upgrade
|
||||
msg_ok "Updated OS"
|
||||
|
||||
msg_info "Updating $APP LXC"
|
||||
|
||||
@@ -19,3 +19,4 @@ msg_ok "Installed Dependencies"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
@@ -45,8 +45,6 @@ msg_ok "Installed IT-Tools"
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /tmp/dist
|
||||
rm -f it-tools.zip
|
||||
$STD apk cache clean
|
||||
msg_ok "Cleaned"
|
||||
cleanup_lxc
|
||||
|
||||
@@ -194,3 +194,4 @@ msg_ok "Finished Nextcloud Setup-Wizard"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
@@ -93,6 +93,4 @@ msg_ok "Started Redlib Service"
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apk cache clean
|
||||
msg_ok "Cleaned"
|
||||
cleanup_lxc
|
||||
|
||||
@@ -55,3 +55,4 @@ msg_ok "Started Wakapi"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
gdal-bin \
|
||||
tesseract-ocr \
|
||||
tesseract-ocr-eng \
|
||||
@@ -24,7 +24,7 @@ $STD apt-get install -y \
|
||||
tesseract-ocr-deu
|
||||
|
||||
$STD echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
xfonts-utils \
|
||||
fonts-freefont-ttf \
|
||||
fonts-liberation \
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
git \
|
||||
expect \
|
||||
libssl-dev \
|
||||
@@ -27,7 +27,7 @@ $STD apt-get install -y \
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Python Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
python3-ldap \
|
||||
python3-msgpack \
|
||||
python3-regex
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
uwsgi \
|
||||
uwsgi-plugin-python3 \
|
||||
libopenjp2-7-dev \
|
||||
|
||||
@@ -67,11 +67,16 @@ msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/blocky.service
|
||||
[Unit]
|
||||
Description=Blocky
|
||||
After=network.target
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
User=root
|
||||
WorkingDirectory=/opt/blocky
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
ExecStart=/opt/blocky/./blocky --config config.yml
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies (Patience)"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
git \
|
||||
build-essential \
|
||||
dumb-init \
|
||||
@@ -85,7 +85,7 @@ $STD npm prune production --prefix /opt/browserless
|
||||
msg_ok "Installed Browserless & Playwright"
|
||||
|
||||
msg_info "Installing Font Packages"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
fontconfig \
|
||||
libfontconfig1 \
|
||||
fonts-freefont-ttf \
|
||||
@@ -100,7 +100,7 @@ $STD apt-get install -y \
|
||||
msg_ok "Installed Font Packages"
|
||||
|
||||
msg_info "Installing X11 Packages"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
libx11-6 \
|
||||
libx11-xcb1 \
|
||||
libxcb1 \
|
||||
|
||||
@@ -159,7 +159,6 @@ StandardError=journal
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
$STD systemctl daemon-reload
|
||||
$STD systemctl enable -q --now databasus
|
||||
msg_ok "Created Databasus Service"
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ setup_deb_based() {
|
||||
|
||||
if [[ -n "$socket" ]]; then
|
||||
msg_info "Enabling Docker TCP socket on $socket"
|
||||
$STD apt-get install -y jq
|
||||
$STD apt install -y jq
|
||||
|
||||
tmpfile=$(mktemp)
|
||||
jq --arg sock "$socket" '. + { "hosts": ["unix:///var/run/docker.sock", $sock] }' /etc/docker/daemon.json >"$tmpfile" && mv "$tmpfile" /etc/docker/daemon.json
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
php-imap \
|
||||
debconf-utils
|
||||
msg_ok "Installed Dependencies"
|
||||
@@ -36,7 +36,7 @@ RELEASE=$(curl -fsSL "$BASE" | grep -oP '(?<=/Dolibarr%20installer%20for%20Debia
|
||||
FILE=$(curl -fsSL "${BASE}${RELEASE}/" | grep -oP 'dolibarr_[^"]+_all.deb' | head -n1)
|
||||
curl -fsSL "https://altushost-swe.dl.sourceforge.net/project/dolibarr/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/${RELEASE}/${FILE}?viasf=1" -o ""$FILE""
|
||||
echo "dolibarr dolibarr/reconfigure-webserver multiselect apache2" | debconf-set-selections
|
||||
$STD apt-get install ./$FILE -y
|
||||
$STD apt install ./$FILE -y
|
||||
$STD apt install -f
|
||||
rm -rf ~/$FILE
|
||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||
|
||||
@@ -15,12 +15,12 @@ update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
apt_update_safe
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
ssh \
|
||||
software-properties-common
|
||||
|
||||
$STD add-apt-repository -y ppa:dotnet/backports
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
dotnet-sdk-9.0 \
|
||||
vsftpd \
|
||||
nginx
|
||||
|
||||
@@ -15,7 +15,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
apt-transport-https \
|
||||
xvfb
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
@@ -82,7 +82,7 @@ GRAMPS_PLUGINS_DIR="/opt/gramps-web/data/gramps/gramps${GRAMPS_VERSION}/plugins"
|
||||
mkdir -p "$GRAMPS_PLUGINS_DIR"
|
||||
|
||||
msg_info "Installing Gramps Addons (gramps${GRAMPS_VERSION})"
|
||||
$STD wget -q https://github.com/gramps-project/addons/archive/refs/heads/master.zip -O /tmp/gramps-addons.zip
|
||||
curl -fsSL -o /tmp/gramps-addons.zip https://github.com/gramps-project/addons/archive/refs/heads/master.zip
|
||||
for addon in FilterRules JSON; do
|
||||
unzip -p /tmp/gramps-addons.zip "addons-master/gramps${GRAMPS_VERSION}/download/${addon}.addon.tgz" | \
|
||||
tar -xz -C "$GRAMPS_PLUGINS_DIR"
|
||||
|
||||
@@ -20,13 +20,13 @@ PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
|
||||
curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-7.0-repository_latest.deb" -o "graylog-7.0-repository_latest.deb"
|
||||
$STD dpkg -i graylog-7.0-repository_latest.deb
|
||||
apt_update_safe
|
||||
$STD apt-get install graylog-datanode -y
|
||||
$STD apt install graylog-datanode -y
|
||||
sed -i "s/password_secret =/password_secret = $PASSWORD_SECRET/g" /etc/graylog/datanode/datanode.conf
|
||||
systemctl enable -q --now graylog-datanode
|
||||
msg_ok "Setup Graylog Data Node"
|
||||
|
||||
msg_info "Setup ${APPLICATION}"
|
||||
$STD apt-get install graylog-server
|
||||
$STD apt install graylog-server
|
||||
ROOT_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16)
|
||||
cat <<EOF >~/graylog.creds
|
||||
${APPLICATION} Credentials
|
||||
|
||||
@@ -79,7 +79,6 @@ ExecStart=/opt/homarr/run.sh
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
chmod +x /opt/homarr/run.sh
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q --now redis-server
|
||||
systemctl enable -q --now homarr
|
||||
systemctl disable -q --now nginx
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y jq
|
||||
$STD apt install -y jq
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
|
||||
|
||||
@@ -111,9 +111,7 @@ server {
|
||||
}
|
||||
}
|
||||
EOF
|
||||
ln -sf /etc/nginx/sites-available/ignis.conf /etc/nginx/sites-enabled/ignis.conf
|
||||
rm -f /etc/nginx/sites-enabled/default
|
||||
systemctl restart nginx
|
||||
nginx_enable_site ignis.conf
|
||||
msg_ok "Configured Nginx"
|
||||
|
||||
motd_ssh
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y libicu-dev
|
||||
$STD apt install -y libicu-dev
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
fetch_and_deploy_gh_release "jackett" "Jackett/Jackett" "prebuild" "latest" "/opt/Jackett" "Jackett.Binaries.Linux$(arch_resolve "AMDx64" "ARM64").tar.gz"
|
||||
|
||||
@@ -34,7 +34,7 @@ msg_ok "Installed GUI Dependencies"
|
||||
|
||||
msg_info "Downloading JDownloader"
|
||||
mkdir -p /opt/jdownloader
|
||||
$STD wget -O /opt/jdownloader/JDownloader.jar https://installer.jdownloader.org/JDownloader.jar
|
||||
curl -fsSL -o /opt/jdownloader/JDownloader.jar https://installer.jdownloader.org/JDownloader.jar
|
||||
msg_ok "Downloaded JDownloader"
|
||||
|
||||
msg_info "Installing JDownloader (Patience)"
|
||||
@@ -194,7 +194,6 @@ EOF
|
||||
msg_ok "Created Services"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q --now xvfb
|
||||
sleep 2
|
||||
systemctl enable -q --now openbox
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y libicu-dev
|
||||
$STD apt install -y libicu-dev
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
fetch_and_deploy_gh_release "Kavita" "Kareadita/Kavita" "prebuild" "latest" "/opt/Kavita" "kavita-linux-$(arch_resolve "x64" "arm64").tar.gz"
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
build-essential \
|
||||
git \
|
||||
openssl \
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
|
||||
@@ -148,7 +148,4 @@ msg_ok "Created Services"
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
cleanup_lxc
|
||||
|
||||
@@ -111,7 +111,6 @@ systemctl restart apache2
|
||||
|
||||
mv /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
|
||||
mv /opt/netbox/contrib/*.service /etc/systemd/system/
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q --now netbox netbox-rq
|
||||
echo -e "Netbox Secret: \e[32m$SECRET_KEY\e[0m" >>~/netbox.creds
|
||||
msg_ok "Configured NetBox"
|
||||
|
||||
@@ -65,7 +65,6 @@ KillMode=mixed
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
msg_ok "Created Service"
|
||||
|
||||
msg_info "Starting Service"
|
||||
|
||||
@@ -86,3 +86,4 @@ msg_ok "Builded and started NPMplus"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
|
||||
@@ -37,7 +37,7 @@ couchdb couchdb/adminpass seen true
|
||||
couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD}
|
||||
couchdb couchdb/adminpass_again seen true
|
||||
EOF
|
||||
DEBIAN_FRONTEND=noninteractive $STD apt-get install -y couchdb
|
||||
DEBIAN_FRONTEND=noninteractive $STD apt install -y couchdb
|
||||
|
||||
cat <<EOF >/root/.couchdb.credentials
|
||||
COUCHDB_ADMIN_USER="${COUCHDB_ADMIN_USER}"
|
||||
|
||||
@@ -51,7 +51,7 @@ Suites: ./
|
||||
Signed-By: /etc/apt/keyrings/collaboraonline-release-keyring.gpg
|
||||
EOF
|
||||
apt_update_safe
|
||||
$STD apt-get install -y coolwsd code-brand
|
||||
$STD apt install -y coolwsd code-brand
|
||||
systemctl stop coolwsd
|
||||
mkdir -p /etc/systemd/system/coolwsd.service.d
|
||||
cat <<EOF >/etc/systemd/system/coolwsd.service.d/override.conf
|
||||
|
||||
@@ -33,7 +33,6 @@ chown -R openhab:openhab /var/lib/openhab /etc/openhab /var/log/openhab
|
||||
msg_ok "Initialized openHAB directories"
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q --now openhab
|
||||
msg_ok "Started Service"
|
||||
|
||||
|
||||
@@ -268,7 +268,6 @@ RestartSec=5
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q --now plane-api plane-worker plane-beat plane-live plane-space
|
||||
cat <<EOF >~/plane.creds
|
||||
RabbitMQ User: plane
|
||||
|
||||
@@ -115,7 +115,6 @@ RestartSec=5
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q --now chromium-printer.service reactive-resume.service
|
||||
msg_ok "Created Services"
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ setup_deb822_repo \
|
||||
"https://download.angie.software/angie/debian/$(get_os_info version_id)" \
|
||||
"$(get_os_info codename)" \
|
||||
"main"
|
||||
$STD apt-get install -y angie angie-module-zip angie-module-njs
|
||||
$STD apt install -y angie angie-module-zip angie-module-njs
|
||||
sed -i '1i load_module modules/ngx_http_zip_module.so;\nload_module modules/ngx_http_js_module.so;' /etc/angie/angie.conf
|
||||
mkdir -p /etc/angie/js
|
||||
cat <<'EOF' >/etc/angie/js/decode.js
|
||||
|
||||
@@ -55,7 +55,6 @@ EOF
|
||||
cat <<EOF >>/etc/php/${PHP_VER}/fpm/pool.d/www.conf
|
||||
env[CURL_IMPERSONATE] = chrome142
|
||||
EOF
|
||||
$STD systemctl daemon-reload
|
||||
safe_service_restart php${PHP_VER}-fpm
|
||||
msg_ok "Enabled curl-impersonate for PHP-FPM"
|
||||
fi
|
||||
|
||||
@@ -16,16 +16,16 @@ update_os
|
||||
setup_hwaccel
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y make zip net-tools git
|
||||
$STD apt-get install -y gcc g++ cmake
|
||||
$STD apt-get install -y ca-certificates
|
||||
$STD apt install -y make zip net-tools git
|
||||
$STD apt install -y gcc g++ cmake
|
||||
$STD apt install -y ca-certificates
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="22" setup_nodejs
|
||||
setup_mariadb
|
||||
|
||||
msg_info "Installing FFMPEG"
|
||||
$STD apt-get install -y ffmpeg
|
||||
$STD apt install -y ffmpeg
|
||||
msg_ok "Installed FFMPEG"
|
||||
|
||||
msg_info "Cloning Shinobi"
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/ShokoAnime/ShokoServer
|
||||
|
||||
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 \
|
||||
mediainfo \
|
||||
"$(apt-cache show librhash1 &>/dev/null && echo librhash1 || echo librhash0)"
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
DOTNET_VERSION="8" DOTNET_TYPE="aspnetcore" setup_dotnet
|
||||
|
||||
fetch_and_deploy_gh_release "shoko" "ShokoAnime/ShokoServer" "prebuild" "latest" "/opt/shoko" "Shoko.CLI_Framework_any-x64.zip"
|
||||
|
||||
msg_info "Creating Service"
|
||||
mkdir -p /opt/shoko_data
|
||||
chmod +x /opt/shoko/Shoko.CLI
|
||||
cat <<EOF >/etc/systemd/system/shoko.service
|
||||
[Unit]
|
||||
Description=Shoko Server
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
WorkingDirectory=/opt/shoko
|
||||
Environment=HOME=/opt/shoko_data
|
||||
Environment=DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
ExecStart=/opt/shoko/Shoko.CLI
|
||||
Restart=on-failure
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now shoko
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2026 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://github.com/pgsty/silo
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
fetch_and_deploy_gh_release "silo" "pgsty/silo" "binary"
|
||||
|
||||
msg_info "Configuring Silo"
|
||||
mkdir -p /opt/silo_data
|
||||
chown silo:silo /opt/silo_data
|
||||
SILO_ROOT_PASSWORD=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | head -c 32)
|
||||
cat <<EOF >/etc/default/silo
|
||||
MINIO_VOLUMES="/opt/silo_data"
|
||||
MINIO_OPTS="--console-address :9001"
|
||||
MINIO_ROOT_USER="silo-admin"
|
||||
MINIO_ROOT_PASSWORD="${SILO_ROOT_PASSWORD}"
|
||||
EOF
|
||||
chmod 600 /etc/default/silo
|
||||
msg_ok "Configured Silo"
|
||||
|
||||
msg_info "Starting Silo"
|
||||
systemctl enable -q --now silo
|
||||
msg_ok "Started Silo"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
@@ -122,7 +122,6 @@ RestartSec=5
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q --now snapotter
|
||||
msg_ok "Created Service"
|
||||
|
||||
|
||||
@@ -26,19 +26,19 @@ PNPM_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/sparkyfitness/packa
|
||||
NODE_VERSION="25" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
|
||||
|
||||
msg_info "Configuring Sparky Fitness"
|
||||
mkdir -p "/etc/sparkyfitness" "/var/lib/sparkyfitness/uploads" "/var/lib/sparkyfitness/backup" "/var/www/sparkyfitness"
|
||||
mkdir -p "/etc/sparkyfitness" "/var/www/sparkyfitness"
|
||||
cp "/opt/sparkyfitness/docker/.env.example" "/etc/sparkyfitness/.env"
|
||||
sed \
|
||||
-i \
|
||||
-e "s|^#\?SPARKY_FITNESS_DB_HOST=.*|SPARKY_FITNESS_DB_HOST=localhost|" \
|
||||
-e "s|^#\?SPARKY_FITNESS_DB_PORT=.*|SPARKY_FITNESS_DB_PORT=5432|" \
|
||||
-e "s|^SPARKY_FITNESS_DB_NAME=.*|SPARKY_FITNESS_DB_NAME=sparkyfitness|" \
|
||||
-e "s|^# SPARKY_FITNESS_DB_HOST=.*|SPARKY_FITNESS_DB_HOST=localhost|" \
|
||||
-e "s|^# SPARKY_FITNESS_DB_PORT=.*|SPARKY_FITNESS_DB_PORT=5432|" \
|
||||
-e "s|^# SPARKY_FITNESS_DB_NAME=.*|SPARKY_FITNESS_DB_NAME=sparkyfitness|" \
|
||||
-e "s|^SPARKY_FITNESS_DB_USER=.*|SPARKY_FITNESS_DB_USER=sparky|" \
|
||||
-e "s|^SPARKY_FITNESS_DB_PASSWORD=.*|SPARKY_FITNESS_DB_PASSWORD=${PG_DB_PASS}|" \
|
||||
-e "s|^SPARKY_FITNESS_APP_DB_USER=.*|SPARKY_FITNESS_APP_DB_USER=sparky_app|" \
|
||||
-e "s|^SPARKY_FITNESS_APP_DB_PASSWORD=.*|SPARKY_FITNESS_APP_DB_PASSWORD=$(openssl rand -base64 24 | tr -dc 'a-zA-Z0-9' | head -c20)|" \
|
||||
-e "s|^SPARKY_FITNESS_SERVER_HOST=.*|SPARKY_FITNESS_SERVER_HOST=localhost|" \
|
||||
-e "s|^SPARKY_FITNESS_SERVER_PORT=.*|SPARKY_FITNESS_SERVER_PORT=3010|" \
|
||||
-e "s|^# SPARKY_FITNESS_APP_DB_USER=.*|SPARKY_FITNESS_APP_DB_USER=sparky_app|" \
|
||||
-e "s|^# SPARKY_FITNESS_APP_DB_PASSWORD=.*|SPARKY_FITNESS_APP_DB_PASSWORD=$(openssl rand -base64 24 | tr -dc 'a-zA-Z0-9' | head -c20)|" \
|
||||
-e "s|^# SPARKY_FITNESS_SERVER_HOST=.*|SPARKY_FITNESS_SERVER_HOST=localhost|" \
|
||||
-e "s|^# SPARKY_FITNESS_SERVER_PORT=.*|SPARKY_FITNESS_SERVER_PORT=3010|" \
|
||||
-e "s|^SPARKY_FITNESS_FRONTEND_URL=.*|SPARKY_FITNESS_FRONTEND_URL=http://${LOCAL_IP}:80|" \
|
||||
-e "s|^GARMIN_MICROSERVICE_URL=.*|GARMIN_MICROSERVICE_URL=http://${LOCAL_IP}:8000|" \
|
||||
-e "s|^SPARKY_FITNESS_API_ENCRYPTION_KEY=.*|SPARKY_FITNESS_API_ENCRYPTION_KEY=$(openssl rand -hex 32)|" \
|
||||
|
||||
@@ -39,7 +39,7 @@ setup_deb822_repo \
|
||||
"https://packages.microsoft.com/ubuntu/22.04/prod" \
|
||||
"jammy" \
|
||||
"main"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
mssql-tools18 \
|
||||
unixodbc-dev
|
||||
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >>~/.bash_profile
|
||||
|
||||
@@ -39,7 +39,7 @@ setup_deb822_repo \
|
||||
"https://packages.microsoft.com/ubuntu/24.04/prod" \
|
||||
"noble" \
|
||||
"main"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
mssql-tools18 \
|
||||
unixodbc-dev
|
||||
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >>~/.bash_profile
|
||||
|
||||
@@ -51,9 +51,7 @@ server {
|
||||
}
|
||||
}
|
||||
EOF
|
||||
ln -sf /etc/nginx/sites-available/super-productivity.conf /etc/nginx/sites-enabled/super-productivity.conf
|
||||
rm -f /etc/nginx/sites-enabled/default
|
||||
systemctl reload nginx
|
||||
nginx_enable_site super-productivity.conf
|
||||
msg_ok "Configured Nginx"
|
||||
|
||||
motd_ssh
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies. Patience"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
git \
|
||||
python3-venv
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
@@ -35,7 +35,6 @@ export SPRING_DATASOURCE_PASSWORD=${PG_DB_PASS}
|
||||
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
|
||||
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
msg_ok "Configured ThingsBoard"
|
||||
|
||||
msg_info "Running ThingsBoard Installation Script"
|
||||
|
||||
@@ -34,7 +34,7 @@ apt_update_safe
|
||||
msg_ok "Setup Twingate Repository"
|
||||
|
||||
msg_info "Setup Twingate Connector"
|
||||
$STD apt-get install -y twingate-connector
|
||||
$STD apt install -y twingate-connector
|
||||
msg_ok "Setup Twingate Connector"
|
||||
|
||||
msg_info "Configure Twingate-Connector"
|
||||
|
||||
@@ -44,7 +44,7 @@ $STD sudo -u www-data php /opt/wallos/endpoints/db/migrate.php
|
||||
msg_ok "Installed Wallos"
|
||||
|
||||
msg_info "Setting up Crontabs"
|
||||
$STD apt-get install -y cron
|
||||
$STD apt install -y cron
|
||||
mkdir -p /var/log/cron
|
||||
cat <<EOF >/opt/wallos.cron
|
||||
0 1 * * * php /opt/wallos/endpoints/cronjobs/updatenextpayment.php >> /var/log/cron/updatenextpayment.log 2>&1
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
apt-transport-https \
|
||||
lsb-release \
|
||||
ca-certificates
|
||||
|
||||
@@ -15,7 +15,7 @@ update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
echo "davfs2 davfs2/suid_file boolean false" | debconf-set-selections
|
||||
$STD apt-get install -y \
|
||||
$STD apt install -y \
|
||||
bzip2 \
|
||||
fuse3 \
|
||||
git \
|
||||
|
||||
@@ -37,7 +37,7 @@ msg_ok "Setup Zerotier-One"
|
||||
|
||||
msg_info "Setting up UI"
|
||||
if [[ "$(arch_resolve)" == "arm64" ]]; then
|
||||
$STD apt-get install -y build-essential python3 openssl
|
||||
$STD apt install -y build-essential python3 openssl
|
||||
NODE_VERSION="20" setup_nodejs
|
||||
curl -fsSL "https://github.com/key-networks/ztncui/archive/refs/heads/master.tar.gz" -o /tmp/ztncui.tar.gz
|
||||
$STD tar -xzf /tmp/ztncui.tar.gz -C /tmp
|
||||
@@ -68,7 +68,6 @@ Restart=on-failure
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q ztncui
|
||||
else
|
||||
curl -O https://s3-us-west-1.amazonaws.com/key-networks/deb/ztncui/1/x86_64/ztncui_0.8.14_amd64.deb
|
||||
|
||||
Reference in New Issue
Block a user