From 2faab0f775b038ccdae8478f6c0415fb24d304f8 Mon Sep 17 00:00:00 2001 From: CanbiZ Date: Sun, 1 Jun 2025 22:19:46 +0200 Subject: [PATCH] cleanup --- ct/babybuddy.sh | 86 ---------------- ct/cloudflare-ddns.sh | 37 ------- ct/linkwarden.sh | 75 -------------- ct/searxng.sh | 42 -------- ct/timescaledb.sh | 44 --------- frontend/public/json/babybuddy.json | 40 -------- frontend/public/json/cloudflare-ddns.json | 44 --------- install/babybuddy-install.sh | 108 --------------------- install/cloudflare-ddns-install.sh | 87 ----------------- install/linkwarden-install.sh | 94 ------------------ install/searxng-install.sh | 113 ---------------------- 11 files changed, 770 deletions(-) delete mode 100644 ct/babybuddy.sh delete mode 100644 ct/cloudflare-ddns.sh delete mode 100644 ct/linkwarden.sh delete mode 100644 ct/searxng.sh delete mode 100644 ct/timescaledb.sh delete mode 100644 frontend/public/json/babybuddy.json delete mode 100644 frontend/public/json/cloudflare-ddns.json delete mode 100644 install/babybuddy-install.sh delete mode 100644 install/cloudflare-ddns-install.sh delete mode 100644 install/linkwarden-install.sh delete mode 100644 install/searxng-install.sh diff --git a/ct/babybuddy.sh b/ct/babybuddy.sh deleted file mode 100644 index a3fadfd9..00000000 --- a/ct/babybuddy.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/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: - -APP="Baby Buddy" -var_tags="${var_tags:-baby}" -var_disk="${var_disk:-5}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -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/babybuddy ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/babybuddy_version.txt)" ]]; then - setup_uv - - msg_info "Stopping Services" - systemctl stop nginx - systemctl stop uwsgi - msg_ok "Services Stopped" - - msg_info "Cleaning old files" - cp babybuddy/settings/production.py /tmp/production.py.bak - find . -mindepth 1 -maxdepth 1 ! -name '.venv' -exec rm -rf {} + - msg_ok "Cleaned old files" - - msg_info "Updating ${APP} to v${RELEASE}" - temp_file=$(mktemp) - curl -fsSL "https://github.com/babybuddy/babybuddy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" - cd /opt/babybuddy - tar zxf "$temp_file" --strip-components=1 -C /opt/babybuddy - mv /tmp/production.py.bak babybuddy/settings/production.py - cd /opt/babybuddy - source .venv/bin/activate - $STD uv pip install -r requirements.txt - $STD python manage.py migrate - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to v${RELEASE}" - - msg_info "Fixing permissions" - chown -R www-data:www-data /opt/data - chmod 640 /opt/data/db.sqlite3 - chmod 750 /opt/data - msg_ok "Permissions fixed" - - msg_info "Starting Services" - systemctl start uwsgi - systemctl start nginx - msg_ok "Services Started" - - msg_info "Cleaning up" - rm -f "$temp_file" - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - 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/cloudflare-ddns.sh b/ct/cloudflare-ddns.sh deleted file mode 100644 index e1f0b483..00000000 --- a/ct/cloudflare-ddns.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) -# Copyright (c) 2021-2025 community-scripts ORG -# Author: edoardop13 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/favonia/cloudflare-ddns - -APP="Cloudflare-DDNS" -var_tags="${var_tags:-network}" -var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-512}" -var_disk="${var_disk:-3}" -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 [[ ! -f /etc/systemd/system/cloudflare-ddns.service ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_error "There is no update function for ${APP}." - exit -} - -start -build_container -description -msg_ok "Completed Successfully!\n" diff --git a/ct/linkwarden.sh b/ct/linkwarden.sh deleted file mode 100644 index 64e47415..00000000 --- a/ct/linkwarden.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: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://linkwarden.app/ - -APP="Linkwarden" -var_tags="${var_tags:-bookmark}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-4096}" -var_disk="${var_disk:-12}" -var_os="${var_os:-ubuntu}" -var_version="${var_version:-24.04}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/linkwarden ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat /opt/linkwarden_version.txt)" ]] || [[ ! -f /opt/linkwarden_version.txt ]]; then - NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules - msg_info "Stopping ${APP}" - systemctl stop linkwarden - msg_ok "Stopped ${APP}" - - RUST_CRATES="monolith" install_rust_and_crates - - msg_info "Updating ${APP} to ${RELEASE}" - mv /opt/linkwarden/.env /opt/.env - rm -rf /opt/linkwarden - fetch_and_deploy_gh_release "linkwarden/linkwarden" - cd /opt/linkwarden - $STD yarn - $STD npx playwright install-deps - $STD yarn playwright install - mv /opt/.env /opt/linkwarden/.env - $STD yarn prisma:generate - $STD yarn web:build - $STD yarn prisma:deploy - msg_ok "Updated ${APP} to ${RELEASE}" - - msg_info "Starting ${APP}" - systemctl start linkwarden - msg_ok "Started ${APP}" - - msg_info "Cleaning up" - rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache ~/.rustup - rm -rf /root/.cache/yarn - rm -rf /opt/linkwarden/.next/cache - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}." - 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/searxng.sh b/ct/searxng.sh deleted file mode 100644 index b3a42b84..00000000 --- a/ct/searxng.sh +++ /dev/null @@ -1,42 +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://github.com/searxng/searxng - -APP="SearXNG" -var_tags="${var_tags:-search}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-7}" -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 /usr/local/searxng/searxng-src ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then - msg_ok "There is currently 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}:8888${CL}" \ No newline at end of file diff --git a/ct/timescaledb.sh b/ct/timescaledb.sh deleted file mode 100644 index d9b63163..00000000 --- a/ct/timescaledb.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/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: - -APP="TimescaleDB" -var_tags="${var_tags:-database}" -var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-1024}" -var_disk="${var_disk:-5}" -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 [[ ! -f /etc/apt/sources.list.d/pgdg.list ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Updating ${APP} LXC" - apt-get update &>/dev/null - apt-get -y upgrade &>/dev/null - 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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}${IP}:5432${CL}" diff --git a/frontend/public/json/babybuddy.json b/frontend/public/json/babybuddy.json deleted file mode 100644 index 2524e089..00000000 --- a/frontend/public/json/babybuddy.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "Baby Buddy", - "slug": "babybuddy", - "categories": [ - 23 - ], - "date_created": "2025-05-16", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 80, - "documentation": "https://docs.baby-buddy.net/", - "website": "https://github.com/babybuddy/babybuddy", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/baby-buddy.webp", - "config_path": "/opt/babybuddy/babybuddy/production.py", - "description": "Baby Buddy is an open-source web application designed to assist caregivers in tracking various aspects of a baby's daily routine, including sleep, feedings, diaper changes, tummy time, and more. By recording this data, caregivers can better understand and anticipate their baby's needs, reducing guesswork in daily care. The application offers a user-friendly dashboard for data entry and visualization, supports multiple users, and provides features like timers and reminders. Additionally, Baby Buddy can be integrated with platforms like Home Assistant and Grafana for enhanced functionality.", - "install_methods": [ - { - "type": "default", - "script": "ct/babybuddy.sh", - "resources": { - "cpu": 2, - "ram": 2048, - "hdd": 5, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": "admin", - "password": "admin" - }, - "notes": [ - { - "text": "for private SSL setup visit: `https://github.com/babybuddy/babybuddy/blob/master/docs/setup/ssl.md`", - "type": "info" - } - ] -} diff --git a/frontend/public/json/cloudflare-ddns.json b/frontend/public/json/cloudflare-ddns.json deleted file mode 100644 index 1b4488e8..00000000 --- a/frontend/public/json/cloudflare-ddns.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "Cloudflare-DDNS", - "slug": "cloudflare-ddns", - "categories": [ - 4 - ], - "date_created": "2025-04-23", - "type": "ct", - "updateable": false, - "privileged": false, - "interface_port": null, - "documentation": "https://github.com/favonia/cloudflare-ddns/blob/main/README.markdown", - "config_path": "/etc/systemd/system/cloudflare-ddns.service", - "website": "https://github.com/favonia/cloudflare-ddns", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/cloudflare.webp", - "description": "A feature-rich and robust Cloudflare DDNS updater with a small footprint. The program will detect your machine’s public IP addresses and update DNS records using the Cloudflare API", - "install_methods": [ - { - "type": "default", - "script": "ct/cloudflare-ddns.sh", - "resources": { - "cpu": 1, - "ram": 512, - "hdd": 2, - "os": "Debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "To setup the updater you must have the Cloudflare Token and the domains, please read the Github documentation at \"Step 1: Updating the Compose File\" (only the expandable section)", - "type": "warning" - }, - { - "text": "To update the configuration edit `/etc/systemd/system/cloudflare-ddns.service`. After edit please restard with `sudo systemctl restart cloudflare-ddns.service`", - "type": "info" - } - ] -} diff --git a/install/babybuddy-install.sh b/install/babybuddy-install.sh deleted file mode 100644 index a640380e..00000000 --- a/install/babybuddy-install.sh +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | http -# Source: https://github.com/babybuddy/babybuddy - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies" -$STD apt-get install -y \ - uwsgi \ - uwsgi-plugin-python3 \ - libopenjp2-7-dev \ - libpq-dev \ - nginx \ - python3 -msg_ok "Installed Dependencies" - -setup_uv - -msg_info "Installing Babybuddy" -RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -temp_file=$(mktemp) -mkdir -p /opt/{babybuddy,data} -curl -fsSL "https://github.com/babybuddy/babybuddy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" -tar zxf "$temp_file" --strip-components=1 -C /opt/babybuddy -cd /opt/babybuddy -$STD uv venv .venv -$STD source .venv/bin/activate -$STD uv pip install -r requirements.txt -cp babybuddy/settings/production.example.py babybuddy/settings/production.py -SECRET_KEY=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32) -ALLOWED_HOSTS=$(hostname -I | tr ' ' ',' | sed 's/,$//')",127.0.0.1,localhost" -sed -i \ - -e "s/^SECRET_KEY = \"\"/SECRET_KEY = \"$SECRET_KEY\"/" \ - -e "s/^ALLOWED_HOSTS = \[\"\"\]/ALLOWED_HOSTS = \[$(echo \"$ALLOWED_HOSTS\" | sed 's/,/\",\"/g')\]/" \ - babybuddy/settings/production.py - -export DJANGO_SETTINGS_MODULE=babybuddy.settings.production -$STD python manage.py migrate -chown -R www-data:www-data /opt/data -chmod 640 /opt/data/db.sqlite3 -chmod 750 /opt/data -msg_ok "Installed Babybuddy" - -msg_info "Configuring uWSGI" -cat </etc/uwsgi/apps-available/babybuddy.ini -[uwsgi] -plugins = python3 -project = babybuddy -base_dir = /opt/babybuddy -chdir = %(base_dir) -virtualenv = %(base_dir)/.venv -module = %(project).wsgi:application -env = DJANGO_SETTINGS_MODULE=%(project).settings.production -master = True -vacuum = True -socket = /var/run/uwsgi/app/babybuddy/socket -chmod-socket = 660 -uid = www-data -gid = www-data -EOF -ln -sf /etc/uwsgi/apps-available/babybuddy.ini /etc/uwsgi/apps-enabled/babybuddy.ini -service uwsgi restart -msg_ok "Configured uWSGI" - -msg_info "Configuring NGINX" -cat </etc/nginx/sites-available/babybuddy -upstream babybuddy { - server unix:///var/run/uwsgi/app/babybuddy/socket; -} - -server { - listen 80; - server_name _; - - location / { - uwsgi_pass babybuddy; - include uwsgi_params; - } - - location /media { - alias /opt/data/media; - } -} -EOF - -ln -sf /etc/nginx/sites-available/babybuddy /etc/nginx/sites-enabled/babybuddy -rm /etc/nginx/sites-enabled/default -systemctl enable -q --now nginx -service nginx reload -msg_ok "Configured NGINX" - -motd_ssh -customize - -msg_info "Cleaning up" -rm -f "$temp_file" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" diff --git a/install/cloudflare-ddns-install.sh b/install/cloudflare-ddns-install.sh deleted file mode 100644 index f4268d11..00000000 --- a/install/cloudflare-ddns-install.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: edoardop13 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/favonia/cloudflare-ddns - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -install_go - -msg_info "Configure Application" -var_cf_api_token="default" -read -rp "Enter the Cloudflare API token: " var_cf_api_token - -var_cf_domains="default" -read -rp "Enter the domains separated with a comma (*.example.org,www.example.org) " var_cf_domains - -var_cf_proxied="false" -while true; do - read -rp "Proxied? (y/n): " answer - case "$answer" in - [Yy]*) - var_cf_proxied="true" - break - ;; - [Nn]*) - var_cf_proxied="false" - break - ;; - *) echo "Please answer y or n." ;; - esac -done -var_cf_ip6_provider="none" -while true; do - read -rp "Enable IPv6 support? (y/n): " answer - case "$answer" in - [Yy]*) - var_cf_ip6_provider="auto" - break - ;; - [Nn]*) - var_cf_ip6_provider="none" - break - ;; - *) echo "Please answer y or n." ;; - esac -done -msg_ok "Configured Application" - -msg_info "Setting up service" -mkdir -p /root/go -cat </etc/systemd/system/cloudflare-ddns.service -[Unit] -Description=Cloudflare DDNS Service (Go run) -After=network.target - -[Service] -Environment="CLOUDFLARE_API_TOKEN=${var_cf_api_token}" -Environment="DOMAINS=${var_cf_domains}" -Environment="PROXIED=${var_cf_proxied}" -Environment="IP6_PROVIDER=${var_cf_ip6_provider}" -Environment="GOPATH=/root/go" -Environment="GOCACHE=/tmp/go-build" -ExecStart=/usr/bin/go/bin/go run github.com/favonia/cloudflare-ddns/cmd/ddns@latest -Restart=always -RestartSec=300 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now cloudflare-ddns -msg_ok "Setup Service" - -motd_ssh -customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh deleted file mode 100644 index 42821232..00000000 --- a/install/linkwarden-install.sh +++ /dev/null @@ -1,94 +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://linkwarden.app/ - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies" -$STD apt-get install -y \ - make \ - build-essential -msg_ok "Installed Dependencies" - -NODE_VERSION="22" NODE_MODULE="yarn@latest" install_node_and_modules -PG_VERSION="16" install_postgresql -RUST_CRATES="monolith" install_rust_and_crates - -msg_info "Setting up PostgreSQL DB" -DB_NAME=linkwardendb -DB_USER=linkwarden -DB_PASS="$(openssl rand -base64 18 | tr -d '/' | cut -c1-13)" -SECRET_KEY="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)" -$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 "Linkwarden-Credentials" - echo "Linkwarden Database User: $DB_USER" - echo "Linkwarden Database Password: $DB_PASS" - echo "Linkwarden Database Name: $DB_NAME" - echo "Linkwarden Secret: $SECRET_KEY" -} >>~/linkwarden.creds -msg_ok "Set up PostgreSQL DB" - -read -r -p "${TAB3}Would you like to add Adminer? " prompt -if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then - install_adminer -fi - -msg_info "Installing Linkwarden (Patience)" -fetch_and_deploy_gh_release "linkwarden/linkwarden" -cd /opt/linkwarden -$STD yarn -$STD npx playwright install-deps -$STD yarn playwright install -IP=$(hostname -I | awk '{print $1}') -cat </opt/linkwarden/.env -NEXTAUTH_SECRET=${SECRET_KEY} -NEXTAUTH_URL=http://${IP}:3000 -DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME} -EOF -$STD yarn prisma:generate -$STD yarn web:build -$STD yarn prisma:deploy -msg_ok "Installed Linkwarden" - -msg_info "Creating Service" -cat </etc/systemd/system/linkwarden.service -[Unit] -Description=Linkwarden Service -After=network.target - -[Service] -Type=exec -Environment=PATH=$PATH -WorkingDirectory=/opt/linkwarden -ExecStart=/usr/bin/yarn concurrently:start - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now linkwarden -msg_ok "Created Service" - -motd_ssh -customize - -msg_info "Cleaning up" -rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache ~/.rustup -rm -rf /root/.cache/yarn -rm -rf /opt/linkwarden/.next/cache -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" diff --git a/install/searxng-install.sh b/install/searxng-install.sh deleted file mode 100644 index e58fee3b..00000000 --- a/install/searxng-install.sh +++ /dev/null @@ -1,113 +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://github.com/searxng/searxng - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies (Patience)" -$STD apt-get install -y \ - redis-server \ - build-essential \ - libffi-dev \ - libssl-dev \ - git -msg_ok "Installed Dependencies" - -msg_info "Setup Python3" -$STD apt-get install -y \ - python3 \ - python3-{pip,venv,yaml,dev} -$STD pip install --upgrade pip setuptools wheel -$STD pip install pyyaml -msg_ok "Setup Python3" - -msg_info "Setup SearXNG" -mkdir -p /usr/local/searxng /etc/searxng -useradd -d /etc/searxng searxng -chown searxng:searxng /usr/local/searxng /etc/searxng -$STD git clone https://github.com/searxng/searxng.git /usr/local/searxng/searxng-src -cd /usr/local/searxng/ -sudo -u searxng python3 -m venv /usr/local/searxng/searx-pyenv -source /usr/local/searxng/searx-pyenv/bin/activate -$STD pip install --upgrade pip setuptools wheel -$STD pip install pyyaml -$STD pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src -SECRET_KEY=$(openssl rand -hex 32) -cat </etc/searxng/settings.yml -# SearXNG settings -use_default_settings: true -general: - debug: false - instance_name: "SearXNG" - privacypolicy_url: false - contact_url: false -server: - bind_address: "0.0.0.0" - port: 8888 - secret_key: "${SECRET_KEY}" - limiter: true - image_proxy: true -redis: - url: "redis://127.0.0.1:6379/0" -ui: - static_use_hash: true -enabled_plugins: - - 'Hash plugin' - - 'Self Information' - - 'Tracker URL remover' - - 'Ahmia blacklist' -search: - safe_search: 2 - autocomplete: 'google' -engines: - - name: google - engine: google - shortcut: gg - use_mobile_ui: false - - name: duckduckgo - engine: duckduckgo - shortcut: ddg - display_error_messages: true -EOF -chown searxng:searxng /etc/searxng/settings.yml -chmod 640 /etc/searxng/settings.yml -msg_ok "Setup SearXNG" - -msg_info "Set up web services" -cat </etc/systemd/system/searxng.service -[Unit] -Description=SearXNG service -After=network.target redis-server.service -Wants=redis-server.service - -[Service] -Type=simple -User=searxng -Group=searxng -Environment="SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml" -ExecStart=/usr/local/searxng/searx-pyenv/bin/python -m searx.webapp -WorkingDirectory=/usr/local/searxng/searxng-src -Restart=always - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now searxng -msg_ok "Created Services" - -motd_ssh -customize - -msg_info "Cleaning up" -$STD apt-get autoremove -$STD apt-get autoclean -msg_ok "Cleaned"