diff --git a/ct/alpine-coredns.sh b/ct/alpine-coredns.sh deleted file mode 100644 index 10a04a36..00000000 --- a/ct/alpine-coredns.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: CopilotAssistant (community-scripts) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/coredns/coredns - -APP="Alpine-CoreDNS" -var_tags="${var_tags:-dns;network;alpine}" -var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-256}" -var_disk="${var_disk:-1}" -var_os="${var_os:-alpine}" -var_version="${var_version:-3.23}" -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/local/bin/coredns ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "coredns" "coredns/coredns"; then - msg_info "Stopping Service" - rc-service coredns stop - msg_ok "Stopped Service" - - ARCH=$(uname -m) - [[ "$ARCH" == "x86_64" ]] && ARCH="amd64" - [[ "$ARCH" == "aarch64" ]] && ARCH="arm64" - fetch_and_deploy_gh_release "coredns" "coredns/coredns" "prebuild" "latest" "/usr/local/bin" \ - "coredns_.*_linux_${ARCH}\.tgz" - chmod +x /usr/local/bin/coredns - - msg_info "Starting Service" - rc-service coredns start - 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} CoreDNS is listening on port 53 (DNS)${CL}" -echo -e "${TAB}${GATEWAY}${BGN}dns://${IP}${CL}" diff --git a/ct/authentik.sh b/ct/authentik.sh deleted file mode 100644 index 2879eed6..00000000 --- a/ct/authentik.sh +++ /dev/null @@ -1,155 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: Thieneret -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/goauthentik/authentik - -APP="authentik" -var_tags="${var_tags:-auth}" -var_cpu="${var_cpu:-4}" -var_ram="${var_ram:-4096}" -var_disk="${var_disk:-16}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/authentik ]]; then - msg_error "No authentik Installation Found!" - exit - fi - - NODE_VERSION="24" setup_nodejs - setup_go - UV_PYTHON_INSTALL_DIR="/usr/local/bin" PYTHON_VERSION="3.14.3" setup_uv - setup_rust - - AUTHENTIK_VERSION="version/2026.2.2" - XMLSEC_VERSION="1.3.11" - - if check_for_gh_release "geoipupdate" "maxmind/geoipupdate"; then - fetch_and_deploy_gh_release "geoipupdate" "maxmind/geoipupdate" "binary" - fi - - if check_for_gh_release "xmlsec" "lsh123/xmlsec" "${XMLSEC_VERSION}"; then - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "xmlsec" "lsh123/xmlsec" "tarball" "${XMLSEC_VERSION}" "/opt/xmlsec" - - msg_info "Updating xmlsec" - cd /opt/xmlsec - $STD ./autogen.sh - $STD make -j $(nproc) - $STD make check - $STD make install - $STD ldconfig - msg_ok "Updated xmlsec" - fi - - if check_for_gh_release "authentik" "goauthentik/authentik" "${AUTHENTIK_VERSION}"; then - msg_info "Stopping Services" - systemctl stop authentik-server authentik-worker - if [[ $(systemctl is-active authentik-ldap) == active ]]; then - systemctl stop authentik-ldap - fi - if [[ $(systemctl is-active authentik-rac) == active ]]; then - systemctl stop authentik-rac - fi - if [[ $(systemctl is-active authentik-radius) == active ]]; then - systemctl stop authentik-radius - fi - msg_ok "Stopped Services" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "authentik" "goauthentik/authentik" "tarball" "${AUTHENTIK_VERSION}" "/opt/authentik" - - msg_info "Updating web" - cd /opt/authentik/web - export NODE_ENV="production" - $STD npm install - $STD npm run build - $STD npm run build:sfe - msg_ok "Updated web" - - msg_info "Updating go proxy" - cd /opt/authentik - export CGO_ENABLED="1" - $STD go mod download - $STD go build -o /opt/authentik/authentik-server ./cmd/server - $STD go build -o /opt/authentik/ldap ./cmd/ldap - $STD go build -o /opt/authentik/rac ./cmd/rac - $STD go build -o /opt/authentik/radius ./cmd/radius - msg_ok "Updated go proxy" - - msg_info "Updating python server" - export UV_NO_BINARY_PACKAGE="cryptography lxml python-kadmin-rs xmlsec" - export UV_COMPILE_BYTECODE="1" - export UV_LINK_MODE="copy" - export UV_NATIVE_TLS="1" - export RUSTUP_PERMIT_COPY_RENAME="true" - export UV_PYTHON_INSTALL_DIR="/usr/local/bin" - cd /opt/authentik - $STD uv sync --frozen --no-install-project --no-dev - chown -R authentik:authentik /opt/authentik - msg_ok "Updated python server" - fi - - msg_info "Starting Services" - systemctl start authentik-server authentik-worker - if [[ $(systemctl is-enabled authentik-ldap) == enabled ]]; then - systemctl start authentik-ldap - fi - if [[ $(systemctl is-enabled authentik-rac) == enabled ]]; then - systemctl start authentik-rac - fi - if [[ $(systemctl is-enabled authentik-radius) == enabled ]]; then - systemctl start authentik-radius - fi - msg_ok "Started Services" - msg_ok "Updated successfully!" - exit -} - -start -build_container - -msg_info "Attaching data storage volume" -$STD pct stop "$CTID" -if [ "${PROTECT_CT:-}" == "1" ] || [ "${PROTECT_CT:-}" == "yes" ]; then - $STD pct set "$CTID" --protection 0 - $STD pct set "$CTID" -mp0 "${CONTAINER_STORAGE}":1,mp=/opt/authentik-data,backup=1 - $STD pct set "$CTID" --protection 1 -else - $STD pct set "$CTID" -mp0 "${CONTAINER_STORAGE}":1,mp=/opt/authentik-data,backup=1 -fi -$STD pct start "$CTID" -for i in {1..10}; do - pct status "$CTID" | grep -q "status: running" && break - sleep 1 -done -$STD pct exec "$CTID" -- bash -c "mkdir -p /opt/authentik-data/{certs,media,geoip,templates}; \ - cp /opt/authentik/tests/GeoLite2-ASN-Test.mmdb /opt/authentik-data/geoip/GeoLite2-ASN.mmdb; \ - cp /opt/authentik/tests/GeoLite2-City-Test.mmdb /opt/authentik-data/geoip/GeoLite2-City.mmdb; \ - chown authentik:authentik /opt/authentik-data; \ - chown -R authentik:authentik /opt/authentik-data/{certs,media,geoip,templates}" -msg_ok "Attached data storage volume" - -msg_info "Starting Services" -pct exec "$CTID" -- systemctl enable -q --now authentik-server authentik-worker -msg_ok "Started Services" - -description - -msg_ok "Completed successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" -echo -e "${INFO}${YW} Initial setup URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000/if/flow/initial-setup/${CL}" -echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}" diff --git a/ct/arm.sh b/ct/deferred/arm.sh similarity index 100% rename from ct/arm.sh rename to ct/deferred/arm.sh diff --git a/ct/degoog.sh b/ct/degoog.sh deleted file mode 100644 index 55e624f9..00000000 --- a/ct/degoog.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: vhsdream -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/fccview/degoog - -APP="degoog" -var_tags="${var_tags:-search;privacy;plugins}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-6}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/degoog ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "degoog" "fccview/degoog"; then - msg_info "Stopping Service" - systemctl stop degoog - msg_ok "Stopped Service" - - msg_info "Backing up Configuration & Data" - [[ -f /opt/degoog/.env ]] && cp /opt/degoog/.env /opt/degoog.env.bak - [[ -d /opt/degoog/data ]] && mv /opt/degoog/data /opt/degoog_data_backup - msg_ok "Backed up Configuration & Data" - - if ! command -v bun >/dev/null 2>&1; then - msg_info "Installing Bun" - export BUN_INSTALL="/root/.bun" - curl -fsSL https://bun.sh/install | $STD bash - ln -sf /root/.bun/bin/bun /usr/local/bin/bun - ln -sf /root/.bun/bin/bunx /usr/local/bin/bunx - msg_ok "Installed Bun" - fi - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "degoog" "fccview/degoog" "prebuild" "latest" "/opt/degoog" "degoog_*_prebuild.tar.gz" - - msg_info "Restoring Configuration & Data" - [[ -f /opt/degoog.env.bak ]] && mv /opt/degoog.env.bak /opt/degoog/.env - [[ -d /opt/degoog_data_backup ]] && mv /opt/degoog_data_backup /opt/degoog/data - msg_ok "Restored Configuration & Data" - - msg_info "Starting Service" - systemctl start degoog - 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 "${TAB}${GATEWAY}${BGN}http://${IP}:4444${CL}" diff --git a/ct/dispatcharr.sh b/ct/dispatcharr.sh deleted file mode 100644 index 2b7df8df..00000000 --- a/ct/dispatcharr.sh +++ /dev/null @@ -1,173 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: ekke85 | MickLesk -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/Dispatcharr/Dispatcharr - -APP="Dispatcharr" -var_tags="${var_tags:-media;arr}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-8}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -var_unprivileged="${var_unprivileged:-1}" -var_gpu="${var_gpu:-yes}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d "/opt/dispatcharr" ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - setup_uv - NODE_VERSION="24" setup_nodejs - - # Fix for nginx not allowing large files - if ! grep -q "client_max_body_size 100M;" /etc/nginx/sites-available/dispatcharr.conf; then - sed -i '/server_name _;/a \ client_max_body_size 100M;' /etc/nginx/sites-available/dispatcharr.conf - systemctl reload nginx - fi - - ensure_dependencies vlc-bin vlc-plugin-base - - if check_for_gh_release "Dispatcharr" "Dispatcharr/Dispatcharr"; then - msg_info "Stopping Services" - systemctl stop dispatcharr-celery - systemctl stop dispatcharr-celerybeat - systemctl stop dispatcharr-daphne - systemctl stop dispatcharr - msg_ok "Stopped Services" - - msg_info "Creating Backup" - if [[ -f /opt/dispatcharr/.env ]]; then - cp /opt/dispatcharr/.env /opt/dispatcharr.env.bak - fi - if [[ -f /opt/dispatcharr/start-gunicorn.sh ]]; then - rm -f /opt/dispatcharr/start-gunicorn.sh - fi - if [[ -f /opt/dispatcharr/start-celery.sh ]]; then - cp /opt/dispatcharr/start-celery.sh /opt/start-celery.sh.bak - fi - if [[ -f /opt/dispatcharr/start-celerybeat.sh ]]; then - cp /opt/dispatcharr/start-celerybeat.sh /opt/start-celerybeat.sh.bak - fi - if [[ -f /opt/dispatcharr/start-daphne.sh ]]; then - cp /opt/dispatcharr/start-daphne.sh /opt/start-daphne.sh.bak - fi - if [[ -f /opt/dispatcharr/.env ]]; then - set -o allexport - source /opt/dispatcharr/.env - set +o allexport - if [[ -n "$POSTGRES_DB" ]] && [[ -n "$POSTGRES_USER" ]] && [[ -n "$POSTGRES_PASSWORD" ]]; then - PGPASSWORD=$POSTGRES_PASSWORD pg_dump -U "$POSTGRES_USER" -h "${POSTGRES_HOST:-localhost}" -p "${POSTGRES_PORT:-5432}" "$POSTGRES_DB" >/opt/dispatcharr_db_$(date +%F).sql - fi - fi - msg_ok "Created Backup" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr" "tarball" - - msg_info "Restoring Configuration" - if [[ -f /opt/dispatcharr.env.bak ]]; then - mv /opt/dispatcharr.env.bak /opt/dispatcharr/.env - fi - if [[ -f /opt/start-celery.sh.bak ]]; then - mv /opt/start-celery.sh.bak /opt/dispatcharr/start-celery.sh - fi - if [[ -f /opt/start-celerybeat.sh.bak ]]; then - mv /opt/start-celerybeat.sh.bak /opt/dispatcharr/start-celerybeat.sh - fi - if [[ -f /opt/start-daphne.sh.bak ]]; then - mv /opt/start-daphne.sh.bak /opt/dispatcharr/start-daphne.sh - fi - - if ! grep -q "DJANGO_SECRET_KEY" /opt/dispatcharr/.env; then - DJANGO_SECRET=$(openssl rand -base64 48 | tr -dc 'a-zA-Z0-9' | cut -c1-50) - echo "DJANGO_SECRET_KEY=$DJANGO_SECRET" >>/opt/dispatcharr/.env - fi - msg_ok "Restored Configuration" - - msg_info "Updating Python Environment" - cd /opt/dispatcharr - rm -rf .venv - $STD uv venv --clear - $STD uv sync - $STD uv pip install uwsgi gevent celery redis daphne - cat <<'UWSGI_EOF' >/opt/dispatcharr/start-uwsgi.sh -#!/usr/bin/env bash -cd /opt/dispatcharr -set -a -source .env -set +a -exec .venv/bin/uwsgi \ - --chdir=/opt/dispatcharr \ - --module=dispatcharr.wsgi:application \ - --master \ - --workers=4 \ - --gevent=400 \ - --http=0.0.0.0:5656 \ - --http-keepalive=1 \ - --http-timeout=600 \ - --socket-timeout=600 \ - --buffer-size=65536 \ - --post-buffering=4096 \ - --lazy-apps \ - --thunder-lock \ - --die-on-term \ - --vacuum -UWSGI_EOF - chmod +x /opt/dispatcharr/start-uwsgi.sh - if grep -q 'start-gunicorn.sh' /etc/systemd/system/dispatcharr.service; then - sed -i 's|start-gunicorn.sh|start-uwsgi.sh|g' /etc/systemd/system/dispatcharr.service - systemctl daemon-reload - fi - msg_ok "Updated Python Environment" - - msg_info "Building Frontend" - cd /opt/dispatcharr/frontend - node -e "const p=require('./package.json');p.overrides=p.overrides||{};p.overrides['webworkify-webpack']='2.1.3';require('fs').writeFileSync('package.json',JSON.stringify(p,null,2));" - rm -f package-lock.json - $STD npm install --no-audit --progress=false - $STD npm run build - msg_ok "Built Frontend" - - msg_info "Running Database Migrations" - cd /opt/dispatcharr - if [[ -f .env ]]; then - set -o allexport - source .env - set +o allexport - fi - $STD uv run python manage.py migrate --noinput - $STD uv run python manage.py collectstatic --noinput - rm -f /opt/dispatcharr_db_*.sql - msg_ok "Ran Database Migrations" - - msg_info "Starting Services" - systemctl start dispatcharr - systemctl start dispatcharr-celery - systemctl start dispatcharr-celerybeat - systemctl start dispatcharr-daphne - msg_ok "Started Services" - 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 "${TAB}${GATEWAY}${BGN}http://${IP}:9191${CL}" diff --git a/ct/docuseal.sh b/ct/docuseal.sh deleted file mode 100644 index c12c2ab1..00000000 --- a/ct/docuseal.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://www.docuseal.com/ - -APP="DocuSeal" -var_tags="${var_tags:-document;esignature;pdf}" -var_cpu="${var_cpu:-4}" -var_ram="${var_ram:-4096}" -var_disk="${var_disk:-10}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/docuseal ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "docuseal" "docusealco/docuseal"; then - msg_info "Stopping Services" - systemctl stop docuseal docuseal-sidekiq - msg_ok "Stopped Services" - - msg_info "Backing up Data" - cp /opt/docuseal/.env /opt/docuseal.env.bak - [[ -d /opt/docuseal/data ]] && mv /opt/docuseal/data /opt/docuseal_data.bak - msg_ok "Backed up Data" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "docuseal" "docusealco/docuseal" "tarball" - - msg_info "Restoring Data" - mv /opt/docuseal.env.bak /opt/docuseal/.env - [[ -d /opt/docuseal_data.bak ]] && mv /opt/docuseal_data.bak /opt/docuseal/data - msg_ok "Restored Data" - - msg_info "Building Application" - cd /opt/docuseal - export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH" - eval "$(rbenv init - bash)" 2>/dev/null || true - export RAILS_ENV=production - export NODE_ENV=production - export SECRET_KEY_BASE_DUMMY=1 - set -a - source /opt/docuseal/.env - set +a - $STD bundle config set --local deployment 'true' - $STD bundle config set --local without 'development:test' - $STD bundle install -j"$(nproc)" - $STD yarn install --network-timeout 1000000 - $STD ./bin/shakapacker - $STD bundle exec rails db:migrate - $STD bundle exec bootsnap precompile -j 1 --gemfile app/ lib/ - chown -R docuseal:docuseal /opt/docuseal - msg_ok "Built Application" - - msg_info "Starting Services" - systemctl start docuseal docuseal-sidekiq - msg_ok "Started Services" - 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 "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/erpnext.sh b/ct/erpnext.sh deleted file mode 100644 index d4647a28..00000000 --- a/ct/erpnext.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) - -# Copyright (c) 2021-2026 community-scripts ORG -# Author: community-scripts -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/frappe/erpnext - -APP="ERPNext" -var_tags="${var_tags:-erp;business;accounting}" -var_cpu="${var_cpu:-4}" -var_ram="${var_ram:-4096}" -var_disk="${var_disk:-20}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/frappe-bench ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - msg_info "Updating ERPNext" - $STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:$PATH"; cd /opt/frappe-bench && bench update --reset' - msg_ok "Updated ERPNext" - exit -} - -start -build_container -description - -msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" -echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" -echo -e "${INFO}${YW} Credentials:${CL}" -echo -e "${TAB}${BGN}Username: Administrator${CL}" -echo -e "${TAB}${BGN}Password: see ~/erpnext.creds${CL}" diff --git a/ct/espconnect.sh b/ct/espconnect.sh deleted file mode 100644 index 32ef1f7c..00000000 --- a/ct/espconnect.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -COMMUNITY_SCRIPTS_URL="${COMMUNITY_SCRIPTS_URL:-https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main}" -source <(curl -fsSL "$COMMUNITY_SCRIPTS_URL/misc/build.func") -# Copyright (c) 2021-2026 community-scripts ORG -# Author: John Lombardo -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/thelastoutpostworkshop/ESPConnect - -APP="ESPConnect" -var_tags="${var_tags:-iot;esp32;flash}" -var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-512}" -var_disk="${var_disk:-4}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/espconnect ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "espconnect" "thelastoutpostworkshop/ESPConnect"; then - msg_info "Stopping Nginx" - systemctl stop nginx - msg_ok "Stopped Nginx" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "espconnect" "thelastoutpostworkshop/ESPConnect" "prebuild" "latest" "/opt/espconnect" "dist.zip" - - msg_info "Starting Nginx" - systemctl start nginx - msg_ok "Started Nginx" - 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 "${TAB}${GATEWAY}${BGN}https://${IP}${CL}" diff --git a/ct/fileflows.sh b/ct/fileflows.sh deleted file mode 100644 index 2459ce79..00000000 --- a/ct/fileflows.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: kkroboth -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://fileflows.com/ - -APP="FileFlows" -var_tags="${var_tags:-media;automation}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-8}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -var_unprivileged="${var_unprivileged:-1}" -var_gpu="${var_gpu:-yes}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /opt/fileflows ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) - if [[ "${update_available}" == "true" ]]; then - msg_info "Stopping Service" - systemctl stop fileflows* - msg_info "Stopped Service" - - msg_info "Creating Backup" - ls /opt/*.tar.gz &>/dev/null && rm -f /opt/*.tar.gz - backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz" - tar -czf "$backup_filename" -C /opt/fileflows Data - msg_ok "Backup Created" - - fetch_and_deploy_from_url "https://fileflows.com/downloads/zip" "/opt/fileflows" - - msg_info "Starting Service" - systemctl start fileflows* - msg_ok "Started Service" - msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at latest version" - fi - - exit -} - -start -build_container -description - -msg_ok "Completed successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" -echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:19200${CL}" diff --git a/ct/labca.sh b/ct/headers/labca.sh similarity index 100% rename from ct/labca.sh rename to ct/headers/labca.sh diff --git a/ct/librechat.sh b/ct/librechat.sh deleted file mode 100644 index e428f953..00000000 --- a/ct/librechat.sh +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/danny-avila/LibreChat - -APP="LibreChat" -var_tags="${var_tags:-ai;chat}" -var_cpu="${var_cpu:-4}" -var_ram="${var_ram:-6144}" -var_disk="${var_disk:-20}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/librechat ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_tag "librechat" "danny-avila/LibreChat" "v"; then - msg_info "Stopping Services" - systemctl stop librechat rag-api - msg_ok "Stopped Services" - - msg_info "Backing up Configuration" - cp /opt/librechat/.env /opt/librechat.env.bak - msg_ok "Backed up Configuration" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_tag "librechat" "danny-avila/LibreChat" - - msg_info "Installing Dependencies" - cd /opt/librechat - $STD npm ci - msg_ok "Installed Dependencies" - - msg_info "Building Frontend" - $STD npm run frontend - $STD npm prune --production - $STD npm cache clean --force - msg_ok "Built Frontend" - - msg_info "Restoring Configuration" - cp /opt/librechat.env.bak /opt/librechat/.env - rm -f /opt/librechat.env.bak - msg_ok "Restored Configuration" - - msg_info "Starting Services" - systemctl start rag-api librechat - msg_ok "Started Services" - msg_ok "Updated LibreChat Successfully!" - fi - - if check_for_gh_release "rag-api" "danny-avila/rag_api"; then - msg_info "Stopping RAG API" - systemctl stop rag-api - msg_ok "Stopped RAG API" - - msg_info "Backing up RAG API Configuration" - cp /opt/rag-api/.env /opt/rag-api.env.bak - msg_ok "Backed up RAG API Configuration" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "rag-api" "danny-avila/rag_api" "tarball" - - msg_info "Updating RAG API Dependencies" - cd /opt/rag-api - $STD .venv/bin/pip install -r requirements.lite.txt - msg_ok "Updated RAG API Dependencies" - - msg_info "Restoring RAG API Configuration" - cp /opt/rag-api.env.bak /opt/rag-api/.env - rm -f /opt/rag-api.env.bak - msg_ok "Restored RAG API Configuration" - - msg_info "Starting RAG API" - systemctl start rag-api - msg_ok "Started RAG API" - msg_ok "Updated RAG API 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 "${TAB}${GATEWAY}${BGN}http://${IP}:3080${CL}" diff --git a/ct/lobehub.sh b/ct/lobehub.sh deleted file mode 100644 index 16921a14..00000000 --- a/ct/lobehub.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/lobehub/lobehub - -APP="LobeHub" -var_tags="${var_tags:-ai;chat}" -var_cpu="${var_cpu:-6}" -var_ram="${var_ram:-10240}" -var_disk="${var_disk:-15}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/lobehub ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "lobehub" "lobehub/lobehub"; then - msg_info "Stopping Services" - systemctl stop lobehub - msg_ok "Stopped Services" - - msg_info "Backing up Data" - cp /opt/lobehub/.env /opt/lobehub.env.bak - msg_ok "Backed up Data" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "lobehub" "lobehub/lobehub" "tarball" - - msg_info "Restoring Configuration" - cp /opt/lobehub.env.bak /opt/lobehub/.env - rm -f /opt/lobehub.env.bak - msg_ok "Restored Configuration" - - msg_info "Building Application" - cd /opt/lobehub - export NODE_OPTIONS="--max-old-space-size=8192" - $STD pnpm install - $STD pnpm run build:docker - unset NODE_OPTIONS - msg_ok "Built Application" - - msg_info "Running Database Migrations" - cd /opt/lobehub - set -a && source /opt/lobehub/.env && set +a - $STD node /opt/lobehub/.next/standalone/docker.cjs - msg_ok "Ran Database Migrations" - - msg_info "Starting Services" - systemctl start lobehub - msg_ok "Started Services" - 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 "${TAB}${GATEWAY}${BGN}http://${IP}:3210${CL}" diff --git a/ct/lychee.sh b/ct/lychee.sh deleted file mode 100644 index e6df1a22..00000000 --- a/ct/lychee.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/LycheeOrg/Lychee - -APP="Lychee" -var_tags="${var_tags:-media;photos;gallery}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-8}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/lychee ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "lychee" "LycheeOrg/Lychee"; then - msg_info "Stopping Services" - systemctl stop caddy - msg_ok "Stopped Services" - - msg_info "Backing up Data" - cp /opt/lychee/.env /opt/lychee.env.bak - cp -r /opt/lychee/storage /opt/lychee_storage_backup - msg_ok "Backed up Data" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "lychee" "LycheeOrg/Lychee" "prebuild" "latest" "/opt/lychee" "Lychee.zip" - - msg_info "Restoring Data" - cp /opt/lychee.env.bak /opt/lychee/.env - rm -f /opt/lychee.env.bak - cp -r /opt/lychee_storage_backup/. /opt/lychee/storage - rm -rf /opt/lychee_storage_backup - msg_ok "Restored Data" - - msg_info "Updating Application" - cd /opt/lychee - $STD php artisan migrate --force - $STD php artisan optimize:clear - chmod -R 775 /opt/lychee/storage /opt/lychee/bootstrap/cache - msg_ok "Updated Application" - - msg_info "Starting Services" - systemctl start caddy - msg_ok "Started Services" - 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 "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}" diff --git a/ct/matomo.sh b/ct/matomo.sh deleted file mode 100644 index 935fef71..00000000 --- a/ct/matomo.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://matomo.org/ - -APP="Matomo" -var_tags="${var_tags:-analytics;tracking;privacy}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-16}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -var_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function flatten_matomo_layout() { - if [[ -d /opt/matomo/matomo ]]; then - msg_info "Migrating Legacy Layout" - rm -rf /opt/matomo/tmp "/opt/matomo/How to install Matomo.html" - find /opt/matomo/matomo -mindepth 1 -maxdepth 1 -exec mv -t /opt/matomo {} + - rm -rf /opt/matomo/matomo - msg_ok "Migrated Legacy Layout" - fi - -} - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /opt/matomo ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "matomo" "matomo-org/matomo"; then - msg_info "Stopping Services" - systemctl stop caddy - msg_ok "Stopped Services" - - flatten_matomo_layout - - msg_info "Backing up Data" - [[ -f /opt/matomo/config/config.ini.php ]] && cp /opt/matomo/config/config.ini.php /opt/matomo_config.bak - [[ -d /opt/matomo/misc/user ]] && cp -r /opt/matomo/misc/user /opt/matomo_user_backup - [[ -f /root/matomo.creds ]] && cp /root/matomo.creds /opt/matomo_db_creds.bak - msg_ok "Backed up Data" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "matomo" "matomo-org/matomo" "prebuild" "latest" "/opt/matomo" "matomo-*.zip" - - flatten_matomo_layout - - msg_info "Restoring Data" - if [[ -f /opt/matomo_config.bak ]]; then - mkdir -p /opt/matomo/config - cp /opt/matomo_config.bak /opt/matomo/config/config.ini.php - fi - if [[ -d /opt/matomo_user_backup ]]; then - mkdir -p /opt/matomo/misc/user - cp -r /opt/matomo_user_backup/. /opt/matomo/misc/user - fi - [[ -f /opt/matomo_db_creds.bak ]] && cp /opt/matomo_db_creds.bak /root/matomo.creds - rm -f /opt/matomo_config.bak /opt/matomo_db_creds.bak - rm -rf /opt/matomo_user_backup - chown -R www-data:www-data /opt/matomo - msg_ok "Restored Data" - - msg_info "Starting Services" - systemctl start caddy - msg_ok "Started Services" - 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 "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/nagios.sh b/ct/nagios.sh deleted file mode 100644 index 24594094..00000000 --- a/ct/nagios.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/NagiosEnterprises/nagioscore - -APP="Nagios" -var_tags="${var_tags:-monitoring;alerts;infrastructure}" -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_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/local/nagios/etc/nagios.cfg ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - msg_info "Backing up Configuration" - cp -a /usr/local/nagios/etc /opt/nagios-etc-backup - msg_ok "Backed up Configuration" - - if check_for_gh_release "nagios" "NagiosEnterprises/nagioscore"; then - msg_info "Stopping Nagios" - systemctl stop nagios - msg_ok "Stopped Nagios" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "nagios" "NagiosEnterprises/nagioscore" "tarball" - - msg_info "Building Nagios Core" - cd /opt/nagios - $STD ./configure --with-httpd-conf=/etc/apache2/sites-enabled - $STD make all - $STD make install-groups-users - usermod -a -G nagios www-data - $STD make install - $STD make install-daemoninit - $STD make install-commandmode - $STD make install-webconf - $STD a2enmod rewrite - $STD a2enmod cgi - msg_ok "Built Nagios Core" - - msg_info "Starting Nagios" - systemctl restart apache2 - systemctl start nagios - msg_ok "Started Nagios" - fi - - if check_for_gh_release "nagios-plugins" "nagios-plugins/nagios-plugins"; then - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "nagios-plugins" "nagios-plugins/nagios-plugins" "tarball" - msg_info "Building Nagios Plugins" - cd /opt/nagios-plugins - $STD ./tools/setup - $STD ./configure - $STD make - $STD make install - msg_ok "Built Nagios Plugins" - fi - - msg_info "Restoring Configuration" - rm -rf /usr/local/nagios/etc - cp -a /opt/nagios-etc-backup /usr/local/nagios/etc - rm -rf /opt/nagios-etc-backup - msg_ok "Restored Configuration" - msg_ok "Updated successfully!" - exit -} - -start -build_container -description - -msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" -echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/nagios${CL}" diff --git a/ct/neko.sh b/ct/neko.sh deleted file mode 100644 index aa69a267..00000000 --- a/ct/neko.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: CanbiZ (MickLesk) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://neko.m1k1o.net/ - -APP="Neko" -var_tags="${var_tags:-virtual-browser;webrtc;streaming}" -var_cpu="${var_cpu:-4}" -var_ram="${var_ram:-4096}" -var_disk="${var_disk:-12}" -var_os="${var_os:-debian}" -var_version="${var_version:-12}" -var_unprivileged="${var_unprivileged:-1}" -var_gpu="${var_gpu:-yes}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /opt/neko ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "neko" "m1k1o/neko"; then - msg_info "Stopping Service" - systemctl stop neko - msg_ok "Stopped Service" - - msg_info "Backing up Data" - cp /etc/neko/neko.yaml /opt/neko.yaml.bak - msg_ok "Backed up Data" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "neko" "m1k1o/neko" "tarball" - - msg_info "Building Client" - cd /opt/neko/client - $STD npm install - $STD npm run build - cp -r /opt/neko/client/dist/* /var/www/ - msg_ok "Built Client" - - msg_info "Building Server" - cd /opt/neko/server - $STD ./build - cp /opt/neko/server/bin/neko /usr/bin/neko - cp -r /opt/neko/server/bin/plugins/* /etc/neko/plugins/ 2>/dev/null || true - msg_ok "Built Server" - - msg_info "Restoring Data" - cp /opt/neko.yaml.bak /etc/neko/neko.yaml - rm -f /opt/neko.yaml.bak - msg_ok "Restored Data" - - msg_info "Starting Service" - systemctl start neko - 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 "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/ct/netbird.sh b/ct/netbird.sh deleted file mode 100644 index 08eca023..00000000 --- a/ct/netbird.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://netbird.io - -APP="NetBird" -var_tags="${var_tags:-network;vpn;connectivity}" -var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-512}" -var_disk="${var_disk:-4}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -var_unprivileged="${var_unprivileged:-0}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - - if ! command -v netbird &>/dev/null; then - msg_error "No ${APP} Installation Found!" - exit - fi - - msg_info "Stopping Service" - systemctl stop netbird - msg_ok "Stopped Service" - - msg_info "Updating ${APP}" - $STD apt update - $STD apt install -y --only-upgrade netbird - msg_ok "Updated ${APP}" - - msg_info "Starting Service" - systemctl start netbird - msg_ok "Started Service" - msg_ok "Updated successfully!" - 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} Connect this peer to your NetBird network:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}netbird up --setup-key ${CL}" diff --git a/ct/profilarr.sh b/ct/profilarr.sh deleted file mode 100644 index 00e09ce2..00000000 --- a/ct/profilarr.sh +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: michelroegl-brunner -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/Dictionarry-Hub/profilarr - -APP="Profilarr" -var_tags="${var_tags:-arr;radarr;sonarr;config}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-4096}" -var_disk="${var_disk:-8}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/profilarr ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if [[ -d /opt/profilarr/backend ]]; then - msg_error "Profilarr v1 detected!" - echo -e "\nProfilarr v2 is a complete rewrite and is NOT compatible with v1." - echo -e "There is no migration path. Please create a new LXC container for v2.\n" - exit - fi - - if check_for_gh_release "deno" "denoland/deno"; then - ARCH=$(uname -m) - fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-${ARCH}-unknown-linux-gnu.zip" - fi - - if check_for_gh_release "profilarr" "Dictionarry-Hub/profilarr"; then - msg_info "Stopping Service" - systemctl stop profilarr - msg_ok "Stopped Service" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "profilarr" "Dictionarry-Hub/profilarr" "tarball" - PROFILARR_VERSION=$(cat ~/.profilarr) - - msg_info "Building Profilarr v${PROFILARR_VERSION} (Patience)" - cd /opt/profilarr - cat >src/lib/shared/build.ts <>apps/nextjs-app/.env - export HUSKY=0 - export NODE_OPTIONS="--max-old-space-size=8192" - $STD pnpm install --frozen-lockfile - $STD pnpm -F @teable/db-main-prisma prisma-generate --schema ./prisma/postgres/schema.prisma - NODE_ENV=production NEXT_BUILD_ENV_TYPECHECK=false \ - $STD pnpm -r --filter '!playground' run build - msg_ok "Rebuilt Teable" - - msg_info "Running Database Migrations" - source /opt/teable/.env - $STD pnpm -F @teable/db-main-prisma prisma-migrate deploy --schema ./prisma/postgres/schema.prisma - msg_ok "Ran Database Migrations" - - msg_info "Starting Service" - systemctl start teable - msg_ok "Started Service" - msg_ok "Updated successfully!" - else - msg_ok "No update available." - fi - exit -} - -start -build_container -description - -msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" -echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/tubearchivist.sh b/ct/tubearchivist.sh deleted file mode 100644 index afa2a295..00000000 --- a/ct/tubearchivist.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) - -# Copyright (c) 2021-2026 community-scripts ORG -# Author: community-scripts -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://github.com/tubearchivist/tubearchivist - -APP="Tube Archivist" -var_tags="${var_tags:-media;youtube;archiving}" -var_cpu="${var_cpu:-4}" -var_ram="${var_ram:-6144}" -var_disk="${var_disk:-30}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/tubearchivist ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "tubearchivist" "tubearchivist/tubearchivist"; then - msg_info "Stopping Services" - systemctl stop tubearchivist tubearchivist-celery tubearchivist-beat - msg_ok "Stopped Services" - - msg_info "Backing up Data" - cp /opt/tubearchivist/.env /opt/tubearchivist_env.bak - msg_ok "Backed up Data" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tubearchivist" "tubearchivist/tubearchivist" "tarball" "latest" "/opt/tubearchivist" - - msg_info "Rebuilding Tube Archivist" - cd /opt/tubearchivist/frontend - $STD npm install - $STD npm run build:deploy - mkdir -p /opt/tubearchivist/backend/static - cp -r /opt/tubearchivist/frontend/dist/* /opt/tubearchivist/backend/static/ - cp /opt/tubearchivist/docker_assets/backend_start.py /opt/tubearchivist/backend/ - $STD uv pip install --python /opt/tubearchivist/.venv/bin/python -r /opt/tubearchivist/backend/requirements.txt - if [[ -f /opt/tubearchivist/backend/requirements.plugins.txt ]]; then - mkdir -p /opt/yt_plugins/bgutil - $STD uv pip install --python /opt/tubearchivist/.venv/bin/python --target /opt/yt_plugins/bgutil -r /opt/tubearchivist/backend/requirements.plugins.txt - fi - msg_ok "Rebuilt Tube Archivist" - - msg_info "Restoring Configuration" - mv /opt/tubearchivist_env.bak /opt/tubearchivist/.env - sed -i 's|^TA_APP_DIR=/opt/tubearchivist$|TA_APP_DIR=/opt/tubearchivist/backend|' /opt/tubearchivist/.env - sed -i 's|^TA_CACHE_DIR=/opt/tubearchivist/cache$|TA_CACHE_DIR=/cache|' /opt/tubearchivist/.env - sed -i 's|^TA_MEDIA_DIR=/opt/tubearchivist/media$|TA_MEDIA_DIR=/youtube|' /opt/tubearchivist/.env - ln -sf /opt/tubearchivist/cache /cache - ln -sf /opt/tubearchivist/media /youtube - ln -sf /opt/tubearchivist/.env /opt/tubearchivist/backend/.env - msg_ok "Restored Configuration" - - msg_info "Starting Services" - systemctl start tubearchivist tubearchivist-celery tubearchivist-beat - systemctl reload nginx - msg_ok "Started Services" - 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 "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}" -echo -e "${INFO}${YW} Credentials:${CL}" -echo -e "${TAB}${BGN}Username: admin${CL}" -echo -e "${TAB}${BGN}Password: see ~/tubearchivist.creds${CL}" diff --git a/ct/webtrees.sh b/ct/webtrees.sh deleted file mode 100644 index 367b609d..00000000 --- a/ct/webtrees.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: sudofly -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://webtrees.net/ - -APP="Webtrees" -var_tags="${var_tags:-genealogy;cms}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-8}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -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/webtrees ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "webtrees" "fisharebest/webtrees"; then - msg_info "Stopping Service" - PHP_VER=$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION;') - systemctl stop caddy php${PHP_VER}-fpm - msg_ok "Stopped Service" - - msg_info "Backing up Data" - cp -r /opt/webtrees/data /opt/webtrees_data_backup - msg_ok "Backed up Data" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "webtrees" "fisharebest/webtrees" "prebuild" "latest" "/opt/webtrees" "webtrees-*.zip" - - msg_info "Restoring Data" - cp -r /opt/webtrees_data_backup/. /opt/webtrees/data - rm -rf /opt/webtrees_data_backup - chown -R www-data:www-data /opt/webtrees - msg_ok "Restored Data" - - msg_info "Starting Service" - systemctl start caddy php${PHP_VER}-fpm - 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 "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"