diff --git a/ct/docker.sh b/ct/docker.sh deleted file mode 100644 index 645114b41..000000000 --- a/ct/docker.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://www.docker.com/ - -APP="Docker" -var_tags="${var_tags:-docker}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -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 - - get_latest_release() { - curl -fsSL https://api.github.com/repos/"$1"/releases/latest | grep '"tag_name":' | cut -d'"' -f4 - } - - msg_info "Updating base system" - $STD apt update - $STD apt -y upgrade - msg_ok "Base system updated" - - msg_info "Updating Docker Engine" - $STD apt install --only-upgrade -y docker-ce docker-ce-cli containerd.io - msg_ok "Docker Engine updated" - - if [[ -f /usr/local/lib/docker/cli-plugins/docker-compose ]]; then - COMPOSE_BIN="/usr/local/lib/docker/cli-plugins/docker-compose" - COMPOSE_NEW_VERSION=$(get_latest_release "docker/compose") - msg_info "Updating Docker Compose to $COMPOSE_NEW_VERSION" - curl -fsSL "https://github.com/docker/compose/releases/download/${COMPOSE_NEW_VERSION}/docker-compose-$(uname -s)-$(uname -m)" \ - -o "$COMPOSE_BIN" - chmod +x "$COMPOSE_BIN" - msg_ok "Docker Compose updated" - fi - - if docker ps -a --format '{{.Names}}' | grep -q '^portainer$'; then - msg_info "Updating Portainer" - $STD docker pull portainer/portainer-ce:latest - $STD docker stop portainer && docker rm portainer - $STD docker volume create portainer_data >/dev/null 2>&1 - $STD docker run -d \ - -p 8000:8000 \ - -p 9443:9443 \ - --name=portainer \ - --restart=always \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v portainer_data:/data \ - portainer/portainer-ce:latest - msg_ok "Updated Portainer" - fi - - if docker ps -a --format '{{.Names}}' | grep -q '^portainer_agent$'; then - msg_info "Updating Portainer Agent" - $STD docker pull portainer/agent:latest - $STD docker stop portainer_agent && docker rm portainer_agent - $STD docker run -d \ - -p 9001:9001 \ - --name=portainer_agent \ - --restart=always \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v /var/lib/docker/volumes:/var/lib/docker/volumes \ - portainer/agent - msg_ok "Updated Portainer Agent" - fi - - msg_info "Cleaning up" - $STD apt-get -y autoremove - $STD apt-get -y autoclean - msg_ok "Cleanup complete" - 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} If you installed Portainer, access it at the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:9443${CL}" diff --git a/ct/gitea-mirror.sh b/ct/gitea-mirror.sh deleted file mode 100644 index ac227bcca..000000000 --- a/ct/gitea-mirror.sh +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: CrazyWolf13 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/RayLabsHQ/gitea-mirror - -APP="gitea-mirror" -var_tags="${var_tags:-mirror;gitea}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-6}" -var_os="${var_os:-debian}" -var_version="${var_version:-12}" -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/gitea-mirror ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4) - if [[ $APP_VERSION =~ ^2\. ]]; then - if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ VERSION 2.x DETECTED" --yesno \ - "WARNING: Version $APP_VERSION detected!\n\nUpdating from version 2.x will CLEAR ALL CONFIGURATION.\n\nThis includes:\n• API tokens\n• User settings\n• Repository configurations\n• All custom settings\n\nDo you want to continue with the update process?" 15 70 --defaultno; then - exit 0 - fi - - if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ FINAL CONFIRMATION" --yesno \ - "FINAL WARNING: This update WILL clear all configuration!\n\nBEFORE PROCEEDING, please:\n\n• Copy API tokens to a safe location\n• Backup any custom configurations\n• Note down repository settings\n\nThis action CANNOT be undone!" 18 70 --defaultno; then - whiptail --backtitle "Gitea Mirror Update" --title "Update Cancelled" --msgbox "Update process cancelled. Please backup your configuration before proceeding." 8 60 - exit 0 - fi - whiptail --backtitle "Gitea Mirror Update" --title "Proceeding with Update" --msgbox \ - "Proceeding with version $APP_VERSION update.\n\nAll configuration will be cleared as warned." 8 50 - rm -rf /opt/gitea-mirror - fi - - if [[ ! -f /opt/gitea-mirror.env ]]; then - msg_info "Detected old Enviroment, updating files" - APP_SECRET=$(openssl rand -base64 32) - HOST_IP=$(hostname -I | awk '{print $1}') - cat </opt/gitea-mirror.env -# See here for config options: https://github.com/RayLabsHQ/gitea-mirror/blob/main/docs/ENVIRONMENT_VARIABLES.md -NODE_ENV=production -HOST=0.0.0.0 -PORT=4321 -DATABASE_URL=sqlite://data/gitea-mirror.db -BETTER_AUTH_URL=http://${HOST_IP}:4321 -BETTER_AUTH_SECRET=${APP_SECRET} -npm_package_version=${APP_VERSION} -EOF - rm /etc/systemd/system/gitea-mirror.service - cat </etc/systemd/system/gitea-mirror.service -[Unit] -Description=Gitea Mirror -After=network.target -[Service] -Type=simple -WorkingDirectory=/opt/gitea-mirror -ExecStart=/usr/local/bin/bun dist/server/entry.mjs -Restart=on-failure -RestartSec=10 -EnvironmentFile=/opt/gitea-mirror.env -[Install] -WantedBy=multi-user.target -EOF - systemctl daemon-reload - msg_ok "Old Enviroment fixed" - fi - - if check_for_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"; then - msg_info "Stopping Services" - systemctl stop gitea-mirror - msg_ok "Services Stopped" - - msg_info "Backup Data" - mkdir -p /opt/gitea-mirror-backup/data - cp /opt/gitea-mirror/data/* /opt/gitea-mirror-backup/data/ - msg_ok "Backup Data" - - NODE_VERSION="22" NODE_MODULES="bun" setup_nodejs - - rm -rf /opt/gitea-mirror - fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror" - - msg_info "Updating and rebuilding ${APP}" - cd /opt/gitea-mirror - $STD bun run setup - $STD bun run build - APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4) - - sudo sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env - msg_ok "Updated and rebuilt ${APP}" - - msg_info "Restoring Data" - cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data - msg_ok "Restored Data" - - msg_info "Starting Service" - systemctl start gitea-mirror - msg_ok "Service Started" - 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}:4321${CL}" diff --git a/ct/joplin-server.sh b/ct/joplin-server.sh deleted file mode 100644 index d7824f8ba..000000000 --- a/ct/joplin-server.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: Slaviša Arežina (tremor021) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://joplinapp.org/ - -APP="Joplin-Server" -var_tags="${var_tags:-notes}" -var_cpu="${var_cpu:-2}" -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/joplin-server ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "joplin-server" "laurent22/joplin"; then - msg_info "Stopping Services" - systemctl stop joplin-server - msg_ok "Stopped Services" - - fetch_and_deploy_gh_release "joplin-server" "laurent22/joplin" "tarball" "latest" - - msg_info "Updating Joplin-Server" - cd /opt/joplin-server - sed -i "/onenote-converter/d" packages/lib/package.json - $STD yarn config set --home enableTelemetry 0 - export BUILD_SEQUENCIAL=1 - $STD yarn install --inline-builds - msg_ok "Updated Joplin-Server" - - msg_info "Starting Services" - systemctl start joplin-server - 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}:22300${CL}" diff --git a/ct/mealie.sh b/ct/mealie.sh deleted file mode 100644 index d32937262..000000000 --- a/ct/mealie.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://mealie.io - -APP="Mealie" -var_tags="${var_tags:-recipes}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-3072}" -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/mealie ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - if check_for_gh_release "mealie" "mealie-recipes/mealie"; then - PYTHON_VERSION="3.12" setup_uv - NODE_MODULE="yarn" NODE_VERSION="24" setup_nodejs - - msg_info "Stopping Service" - systemctl stop mealie - msg_ok "Stopped Service" - - msg_info "Backing up Configuration" - cp -f /opt/mealie/mealie.env /opt/mealie/mealie.env.bak - cp -f /opt/mealie/start.sh /opt/mealie/start.sh.bak - msg_ok "Backup completed" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "mealie" "mealie-recipes/mealie" "tarball" "latest" "/opt/mealie" - - msg_info "Installing Python Dependencies with uv" - cd /opt/mealie - $STD uv sync --frozen --extra pgsql - msg_ok "Installed Python Dependencies" - - msg_info "Building Frontend" - export NUXT_TELEMETRY_DISABLED=1 - cd /opt/mealie/frontend - $STD yarn install --prefer-offline --frozen-lockfile --non-interactive --production=false --network-timeout 1000000 - $STD yarn generate - msg_ok "Built Frontend" - - msg_info "Copying Built Frontend" - mkdir -p /opt/mealie/mealie/frontend - cp -r /opt/mealie/frontend/dist/* /opt/mealie/mealie/frontend/ - msg_ok "Copied Frontend" - - msg_info "Updating NLTK Data" - mkdir -p /nltk_data/ - cd /opt/mealie - $STD uv run python -m nltk.downloader -d /nltk_data averaged_perceptron_tagger_eng - msg_ok "Updated NLTK Data" - - msg_info "Restoring Configuration" - mv -f /opt/mealie/mealie.env.bak /opt/mealie/mealie.env - cat <<'STARTEOF' >/opt/mealie/start.sh -#!/bin/bash -set -a -source /opt/mealie/mealie.env -set +a -exec uv run mealie -STARTEOF - chmod +x /opt/mealie/start.sh - msg_ok "Configuration restored" - - msg_info "Starting Service" - systemctl start mealie - msg_ok "Started Service" - msg_ok "Update Successful" - 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}:9000${CL}" diff --git a/ct/metabase.sh b/ct/metabase.sh deleted file mode 100644 index d057b52b3..000000000 --- a/ct/metabase.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-2025 community-scripts ORG -# Author: Slaviša Arežina (tremor021) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://www.metabase.com/ - -APP="Metabase" -var_tags="${var_tags:-analytics}" -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/metabase ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "metabase" "metabase/metabase"; then - msg_info "Stopping Service" - systemctl stop metabase - msg_info "Service stopped" - - msg_info "Creating backup" - mv /opt/metabase/.env /opt - msg_ok "Created backup" - - msg_info "Updating Metabase" - RELEASE=$(get_latest_github_release "metabase/metabase") - curl -fsSL "https://downloads.metabase.com/v${RELEASE}.x/metabase.jar" -o /opt/metabase/metabase.jar - echo $RELEASE >~/.metabase - msg_ok "Updated Metabase" - - msg_info "Restoring backup" - mv /opt/.env /opt/metabase - msg_ok "Restored backup" - - msg_info "Starting Service" - systemctl start metabase - 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}:3000${CL}" diff --git a/ct/wanderer.sh b/ct/wanderer.sh deleted file mode 100644 index 973970b17..000000000 --- a/ct/wanderer.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: rrole -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://wanderer.to - -APP="Wanderer" -var_tags="${var_tags:-traveling;sport}" -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 [[ ! -f /opt/wanderer/start.sh ]]; then - msg_error "No wanderer Installation Found!" - exit - fi - - if check_for_gh_release "wanderer" "Flomp/wanderer"; then - msg_info "Stopping wanderer service" - systemctl stop wanderer-web - msg_ok "Stopped wanderer service" - - fetch_and_deploy_gh_release "wanderer" "Flomp/wanderer" "tarball" "latest" "/opt/wanderer/source" - - msg_info "Updating wanderer" - cd /opt/wanderer/source/db - $STD go mod tidy - $STD go build - cd /opt/wanderer/source/web - $STD npm ci --omit=dev - $STD npm run build - msg_ok "Updated wanderer" - - msg_info "Starting wanderer service" - systemctl start wanderer-web - msg_ok "Started wanderer service" - msg_ok "Update Successful" - fi - if check_for_gh_release "meilisearch" "meilisearch/meilisearch"; then - msg_info "Stopping wanderer service" - systemctl stop wanderer-web - msg_ok "Stopped wanderer service" - - fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" "latest" "/opt/wanderer/source/search" - - msg_info "Starting wanderer service" - systemctl start wanderer-web - msg_ok "Started wanderer service" - msg_ok "Update Successful" - 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/web-check.sh b/ct/web-check.sh deleted file mode 100644 index bb6555503..000000000 --- a/ct/web-check.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: CrazyWolf13 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/Lissy93/web-check - -APP="web-check" -var_tags="${var_tags:-network;analysis}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-12}" -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/web-check ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "web-check" "CrazyWolf13/web-check"; then - msg_info "Stopping Service" - systemctl stop web-check - msg_ok "Stopped Service" - - msg_info "Creating backup" - mv /opt/web-check/.env /opt - msg_ok "Created backup" - - NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "web-check" "CrazyWolf13/web-check" - - msg_info "Building Web-Check" - cd /opt/web-check - $STD yarn install --frozen-lockfile --network-timeout 100000 - $STD yarn build --production - rm -rf /var/lib/apt/lists/* /app/node_modules/.cache - msg_ok "Built Web-Check" - - msg_info "Restoring backup" - mv /opt/.env /opt/web-check - msg_ok "Restored backup" - - msg_info "Starting Service" - systemctl start web-check - 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}:3000${CL}" diff --git a/frontend/public/json/metabase.json b/frontend/public/json/metabase.json deleted file mode 100644 index 1cb744078..000000000 --- a/frontend/public/json/metabase.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "Metabase", - "slug": "metabase", - "categories": [ - 9 - ], - "date_created": "2025-09-04", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 3000, - "documentation": "https://www.metabase.com/docs/latest/", - "config_path": "/opt/metabase/.env", - "website": "https://www.metabase.com/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/metabase.webp", - "description": "Metabase is an open-source business intelligence platform. You can use Metabase to ask questions about your data, or embed Metabase in your app to let your customers explore their data on their own.", - "install_methods": [ - { - "type": "default", - "script": "ct/metabase.sh", - "resources": { - "cpu": 2, - "ram": 2048, - "hdd": 6, - "os": "Debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] -} diff --git a/frontend/public/json/valkey.json b/frontend/public/json/valkey.json deleted file mode 100644 index bafe38af8..000000000 --- a/frontend/public/json/valkey.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "Valkey", - "slug": "valkey", - "categories": [ - 9 - ], - "date_created": "2025-11-24", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 6379, - "documentation": "https://valkey.io/docs/", - "config_path": "/etc/valkey/valkey.conf", - "website": "https://valkey.io/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/valkey.webp", - "description": "Valkey is an open source (BSD) high-performance key/value datastore that supports a variety of workloads such as caching, message queues, and can act as a primary database. The project is backed by the Linux Foundation, ensuring it will remain open source forever.", - "install_methods": [ - { - "type": "default", - "script": "ct/valkey.sh", - "resources": { - "cpu": 1, - "ram": 1024, - "hdd": 4, - "os": "Debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] -} diff --git a/frontend/public/json/wanderer.json b/frontend/public/json/wanderer.json deleted file mode 100644 index aade13021..000000000 --- a/frontend/public/json/wanderer.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "Wanderer", - "slug": "wanderer", - "categories": [ - 0 - ], - "date_created": "2025-11-23", - "type": "ct", - "updateable": true, - "privileged": false, - "config_path": "/opt/wanderer/.env", - "interface_port": 3000, - "documentation": "https://wanderer.to/welcome", - "website": "https://wanderer.to", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@master/webp/wanderer-light.webp", - "description": "Wanderer is a decentralized, self-hosted trail database. You can upload your recorded GPS tracks or create new ones and add various metadata to build an easily searchable catalogue.", - "install_methods": [ - { - "type": "default", - "script": "ct/wanderer.sh", - "resources": { - "cpu": 2, - "ram": 4096, - "hdd": 8, - "os": "debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] -} diff --git a/install/gitea-mirror-install.sh b/install/gitea-mirror-install.sh deleted file mode 100644 index 3ec7171bd..000000000 --- a/install/gitea-mirror-install.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: CrazyWolf13 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/RayLabsHQ/gitea-mirror - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -NODE_VERSION="22" NODE_MODULES="bun" setup_nodejs -fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror" - -msg_info "Installing gitea-mirror" -cd /opt/gitea-mirror -$STD bun run setup -$STD bun run build -msg_ok "Installed gitea-mirror" - -msg_info "Creating Services" -APP_SECRET=$(openssl rand -base64 32) -APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4) -HOST_IP=$(hostname -I | awk '{print $1}') -cat </opt/gitea-mirror.env -# See here for config options: https://github.com/RayLabsHQ/gitea-mirror/blob/main/docs/ENVIRONMENT_VARIABLES.md -NODE_ENV=production -HOST=0.0.0.0 -PORT=4321 -DATABASE_URL=sqlite://data/gitea-mirror.db -BETTER_AUTH_URL=http://${HOST_IP}:4321 -BETTER_AUTH_SECRET=${APP_SECRET} -npm_package_version=${APP_VERSION} -EOF - -cat </etc/systemd/system/gitea-mirror.service -[Unit] -Description=Gitea Mirror -After=network.target -[Service] -Type=simple -WorkingDirectory=/opt/gitea-mirror -ExecStart=/usr/local/bin/bun dist/server/entry.mjs -Restart=on-failure -RestartSec=10 -EnvironmentFile=/opt/gitea-mirror.env -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now gitea-mirror -msg_ok "Created Service" - -motd_ssh -customize -cleanup_lxc diff --git a/install/joplin-server-install.sh b/install/joplin-server-install.sh deleted file mode 100644 index 35d85fbf2..000000000 --- a/install/joplin-server-install.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: Slaviša Arežina (tremor021) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://joplinapp.org/ - -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 \ - git \ - rsync -msg_ok "Installed Dependencies" - -PG_VERSION="17" setup_postgresql -NODE_VERSION=24 NODE_MODULE="yarn,npm,pm2" setup_nodejs -mkdir -p /opt/pm2 -export PM2_HOME=/opt/pm2 -$STD pm2 install pm2-logrotate -$STD pm2 set pm2-logrotate:max_size 100MB -$STD pm2 set pm2-logrotate:retain 5 -$STD pm2 set pm2-logrotate:compress tr - -msg_info "Setting up PostgreSQL Database" -DB_NAME=joplin -DB_USER=joplin -DB_PASS="$(openssl rand -base64 18 | cut -c1-13)" -$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';" -$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';" -$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'" -{ - echo "Joplin-Credentials" - echo "Joplin Database User: $DB_USER" - echo "Joplin Database Password: $DB_PASS" - echo "Joplin Database Name: $DB_NAME" -} >>~/joplin.creds -msg_ok "Set up PostgreSQL Database" - -fetch_and_deploy_gh_release "joplin-server" "laurent22/joplin" "tarball" "latest" - -msg_info "Setting up Joplin Server (Patience)" -LOCAL_IP=$(hostname -I | awk '{print $1}') -cd /opt/joplin-server -sed -i "/onenote-converter/d" packages/lib/package.json -$STD yarn config set --home enableTelemetry 0 -export BUILD_SEQUENCIAL=1 -$STD yarn install --inline-builds - -cat </opt/joplin-server/.env -PM2_HOME=/opt/pm2 -NODE_ENV=production -APP_BASE_URL=http://$LOCAL_IP:22300 -APP_PORT=22300 -DB_CLIENT=pg -POSTGRES_PASSWORD=$DB_PASS -POSTGRES_DATABASE=$DB_NAME -POSTGRES_USER=$DB_USER -POSTGRES_PORT=5432 -POSTGRES_HOST=localhost -EOF -msg_ok "Setup Joplin Server" - -msg_info "Setting up Service" -cat </etc/systemd/system/joplin-server.service -[Unit] -Description=Joplin Server Service -After=network.target - -[Service] -Type=simple -WorkingDirectory=/opt/joplin-server/packages/server -EnvironmentFile=/opt/joplin-server/.env -ExecStart=/usr/bin/yarn start-prod -Restart=on-failure -RestartSec=5 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now joplin-server -msg_ok "Service Setup" - -motd_ssh -customize -cleanup_lxc diff --git a/install/mealie-install.sh b/install/mealie-install.sh deleted file mode 100644 index 78e857c1d..000000000 --- a/install/mealie-install.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://mealie.io - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies" -$STD apt install -y \ - build-essential \ - libpq-dev \ - libwebp-dev \ - libsasl2-dev \ - libldap2-dev \ - libldap-common \ - libssl-dev \ - libldap2 \ - gosu \ - iproute2 -msg_ok "Installed Dependencies" - -PYTHON_VERSION="3.12" setup_uv -POSTGRES_VERSION="16" setup_postgresql -NODE_MODULE="yarn" NODE_VERSION="24" setup_nodejs -fetch_and_deploy_gh_release "mealie" "mealie-recipes/mealie" "tarball" "latest" "/opt/mealie" -PG_DB_NAME="mealie_db" PG_DB_USER="mealie_user" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db - -msg_info "Installing Python Dependencies with uv" -cd /opt/mealie -$STD uv sync --frozen --extra pgsql -msg_ok "Installed Python Dependencies" - -msg_info "Building Frontend" -MEALIE_VERSION=$(<$HOME/.mealie) -CONTAINER_IP=$(hostname -I | awk '{print $1}') -export NUXT_TELEMETRY_DISABLED=1 -cd /opt/mealie/frontend -$STD sed -i "s|https://github.com/mealie-recipes/mealie/commit/|https://github.com/mealie-recipes/mealie/releases/tag/|g" /opt/mealie/frontend/pages/admin/site-settings.vue -$STD sed -i "s|value: data.buildId,|value: \"v${MEALIE_VERSION}\",|g" /opt/mealie/frontend/pages/admin/site-settings.vue -$STD sed -i "s|value: data.production ? i18n.t(\"about.production\") : i18n.t(\"about.development\"),|value: \"bare-metal\",|g" /opt/mealie/frontend/pages/admin/site-settings.vue -$STD yarn install --prefer-offline --frozen-lockfile --non-interactive --production=false --network-timeout 1000000 -$STD yarn generate -msg_ok "Built Frontend" - -msg_info "Copying Built Frontend" -mkdir -p /opt/mealie/mealie/frontend -cp -r /opt/mealie/frontend/dist/* /opt/mealie/mealie/frontend/ -msg_ok "Copied Frontend" - -msg_info "Downloading NLTK Data" -mkdir -p /nltk_data/ -cd /opt/mealie -$STD uv run python -m nltk.downloader -d /nltk_data averaged_perceptron_tagger_eng -msg_ok "Downloaded NLTK Data" - -msg_info "Writing Environment File" -SECRET=$(openssl rand -hex 32) -mkdir -p /run/secrets -cat </opt/mealie/mealie.env -MEALIE_HOME=/opt/mealie -NLTK_DATA=/nltk_data -SECRET=${SECRET} - -DB_ENGINE=postgres -POSTGRES_SERVER=localhost -POSTGRES_PORT=5432 -POSTGRES_USER=${PG_DB_USER} -POSTGRES_PASSWORD=${PG_DB_PASS} -POSTGRES_DB=${PG_DB_NAME} - -PRODUCTION=true -HOST=0.0.0.0 -PORT=9000 -BASE_URL=http://${CONTAINER_IP}:9000 -EOF -msg_ok "Wrote Environment File" - -msg_info "Creating Start Script" -cat <<'EOF' >/opt/mealie/start.sh -#!/bin/bash -set -a -source /opt/mealie/mealie.env -set +a -exec uv run mealie -EOF -chmod +x /opt/mealie/start.sh -msg_ok "Created Start Script" - -msg_info "Creating Systemd Service" -cat <<'EOF' >/etc/systemd/system/mealie.service -[Unit] -Description=Mealie Recipe Manager -After=network.target postgresql.service -Wants=postgresql.service - -[Service] -Type=simple -User=root -WorkingDirectory=/opt/mealie -ExecStart=/opt/mealie/start.sh -Restart=on-failure -RestartSec=5 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now mealie -msg_ok "Created and Started Service" - -motd_ssh -customize -cleanup_lxc diff --git a/install/metabase-install.sh b/install/metabase-install.sh deleted file mode 100644 index f14ff7c2d..000000000 --- a/install/metabase-install.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: Slaviša Arežina (tremor021) -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://www.metabase.com/ - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -JAVA_VERSION="21" setup_java -PG_VERSION="17" setup_postgresql -PG_DB_NAME="metabase_db" PG_DB_USER="metabase" setup_postgresql_db - -msg_info "Setting up Metabase" -mkdir -p /opt/metabase -RELEASE=$(get_latest_github_release "metabase/metabase") -curl -fsSL "https://downloads.metabase.com/v${RELEASE}.x/metabase.jar" -o /opt/metabase/metabase.jar -cd /opt/metabase - -cat </opt/metabase/.env -MB_DB_TYPE=postgres -MB_DB_DBNAME=$PG_DB_NAME -MB_DB_PORT=5432 -MB_DB_USER=$PG_DB_USER -MB_DB_PASS=$PG_DB_PASS -MB_DB_HOST=localhost -EOF -echo $RELEASE >~/.metabase -msg_ok "Setup Metabase" - -msg_info "Creating Service" -cat </etc/systemd/system/metabase.service -[Unit] -Description=Metabase Service -After=network.target - -[Service] -EnvironmentFile=/opt/metabase/.env -WorkingDirectory=/opt/metabase -ExecStart=/usr/bin/java --add-opens java.base/java.nio=ALL-UNNAMED -jar metabase.jar -Restart=always -SuccessExitStatus=143 -TimeoutStopSec=120 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now metabase -msg_ok "Created Service" - -motd_ssh -customize -cleanup_lxc diff --git a/install/valkey-install.sh b/install/valkey-install.sh deleted file mode 100644 index 6a0a1441f..000000000 --- a/install/valkey-install.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: pshankinclarke (lazarillo) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://valkey.io/ - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Valkey" -$STD apt update -$STD apt install -y valkey -sed -i 's/^bind .*/bind 0.0.0.0/' /etc/valkey/valkey.conf -systemctl enable -q --now valkey-server -systemctl restart valkey-server -msg_ok "Installed Valkey" - -motd_ssh -customize -cleanup_lxc diff --git a/install/wanderer-install.sh b/install/wanderer-install.sh deleted file mode 100644 index 291957787..000000000 --- a/install/wanderer-install.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: rrole -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://wanderer.to - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -setup_go -setup_nodejs -fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" "latest" "/opt/wanderer/source/search" -mkdir -p /opt/wanderer/{source,data/pb_data,data/meili_data} -fetch_and_deploy_gh_release "wanderer" "Flomp/wanderer" "tarball" "latest" "/opt/wanderer/source" - -msg_info "Installing wanderer (patience)" -cd /opt/wanderer/source/db -$STD go mod tidy -$STD go build -cd /opt/wanderer/source/web -$STD npm ci -s vitest -$STD npm ci --omit=dev -$STD npm run build -msg_ok "Installed wanderer" - -msg_info "Creating Service" -MEILI_KEY=$(openssl rand -hex 32) -POCKETBASE_KEY=$(openssl rand -hex 16) -LOCAL_IP="$(hostname -I | awk '{print $1}')" - -cat </opt/wanderer/.env -ORIGIN=http://${LOCAL_IP}:3000 -MEILI_HTTP_ADDR=${LOCAL_IP}:7700 -MEILI_URL=http://${LOCAL_IP}:7700 -MEILI_MASTER_KEY=${MEILI_KEY} -PB_URL=${LOCAL_IP}:8090 -PUBLIC_POCKETBASE_URL=http://${LOCAL_IP}:8090 -PUBLIC_VALHALLA_URL=https://valhalla1.openstreetmap.de -POCKETBASE_ENCRYPTION_KEY=${POCKETBASE_KEY} -PB_DB_LOCATION=/opt/wanderer/data/pb_data -MEILI_DB_PATH=/opt/wanderer/data/meili_data -EOF - -cat </opt/wanderer/start.sh -#!/usr/bin/env bash - -trap "kill 0" EXIT - -cd /opt/wanderer/source/search && meilisearch --master-key \$MEILI_MASTER_KEY & -sleep 1 -cd /opt/wanderer/source/db && ./pocketbase serve --http=\$PB_URL --dir=\$PB_DB_LOCATION & -cd /opt/wanderer/source/web && node build & - -wait -n -EOF -chmod +x /opt/wanderer/start.sh - -cat </etc/systemd/system/wanderer-web.service -[Unit] -Description=wanderer -After=network.target -StartLimitIntervalSec=10 -StartLimitBurst=5 - -[Service] -Type=simple -EnvironmentFile=/opt/wanderer/.env -ExecStart=/usr/bin/bash /opt/wanderer/start.sh -Restart=always -RestartSec=1 - -[Install] -WantedBy=multi-user.target -EOF -sleep 1 -systemctl enable -q --now wanderer-web -msg_ok "Created Service" - -motd_ssh -customize -cleanup_lxc diff --git a/install/web-check-install.sh b/install/web-check-install.sh deleted file mode 100644 index dd21d8ca9..000000000 --- a/install/web-check-install.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: CrazyWolf13 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/lissy93/web-check - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies" -export DEBIAN_FRONTEND=noninteractive -$STD apt -y install --no-install-recommends \ - git \ - traceroute \ - make \ - g++ \ - traceroute \ - xvfb \ - dbus \ - xorg \ - xvfb \ - gtk2-engines-pixbuf \ - dbus-x11 \ - xfonts-base \ - xfonts-100dpi \ - xfonts-75dpi \ - xfonts-scalable \ - imagemagick \ - x11-apps -msg_ok "Installed Dependencies" - -NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs - -msg_info "Setup Python3" -$STD apt install -y python3 -rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED -msg_ok "Setup Python3" - -msg_info "Installing Chromium" -curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /usr/share/keyrings/google-chrome-keyring.gpg -cat </dev/null -Types: deb -URIs: http://dl.google.com/linux/chrome/deb/ -Suites: stable -Components: main -Architectures: amd64 -Signed-By: /usr/share/keyrings/google-chrome-keyring.gpg -EOF -$STD apt update -$STD apt -y install \ - chromium \ - libxss1 \ - lsb-release -msg_ok "Installed Chromium" - -msg_info "Setting up Chromium" -/usr/bin/chromium --no-sandbox --version >/etc/chromium-version -chmod 755 /usr/bin/chromium -msg_ok "Setup Chromium" - -fetch_and_deploy_gh_release "web-check" "MickLesk/web-check" - -msg_info "Installing Web-Check (Patience)" -cd /opt/web-check -cat <<'EOF' >/opt/web-check/.env -CHROME_PATH=/usr/bin/chromium -PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium -HEADLESS=true -GOOGLE_CLOUD_API_KEY='' -REACT_APP_SHODAN_API_KEY='' -REACT_APP_WHO_API_KEY='' -SECURITY_TRAILS_API_KEY='' -CLOUDMERSIVE_API_KEY='' -TRANCO_USERNAME='' -TRANCO_API_KEY='' -URL_SCAN_API_KEY='' -BUILT_WITH_API_KEY='' -TORRENT_IP_API_KEY='' -PORT='3000' -DISABLE_GUI='false' -API_TIMEOUT_LIMIT='10000' -API_CORS_ORIGIN='*' -API_ENABLE_RATE_LIMIT='false' -REACT_APP_API_ENDPOINT='/api' -ENABLE_ANALYTICS='false' -EOF -$STD yarn install --frozen-lockfile --network-timeout 100000 -msg_ok "Installed Web-Check" - -msg_info "Building Web-Check" -$STD yarn build --production -rm -rf /var/lib/apt/lists/* /app/node_modules/.cache -msg_ok "Built Web-Check" - -msg_info "Creating Service" -cat <<'EOF' >/opt/run_web-check.sh -#!/bin/bash -SCREEN_RESOLUTION="1280x1024x24" -if ! systemctl is-active --quiet dbus; then - echo "Warning: dbus service is not running. Some features may not work properly." -fi -[[ -z "${DISPLAY}" ]] && export DISPLAY=":99" -Xvfb "${DISPLAY}" -screen 0 "${SCREEN_RESOLUTION}" & -XVFB_PID=$! -sleep 2 -cd /opt/web-check -exec yarn start -EOF -chmod +x /opt/run_web-check.sh -cat <<'EOF' >/etc/systemd/system/web-check.service -[Unit] -Description=Web Check Service -After=network.target - -[Service] -Type=simple -User=root -Group=root -WorkingDirectory=/opt/web-check -EnvironmentFile=/opt/web-check/.env -ExecStartPre=/bin/bash -c "service dbus start || true" -ExecStartPre=/bin/bash -c "if ! pgrep -f 'Xvfb.*:99' > /dev/null; then Xvfb :99 -screen 0 1280x1024x24 & fi" -ExecStart=/opt/run_web-check.sh -Restart=on-failure -Environment=DISPLAY=:99 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now web-check -msg_ok "Created Service" - -motd_ssh -customize -cleanup_lxc