From c0bb8ce8887eee158edb870600729f123da73eb2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 16 Oct 2026 19:46:08 +0000 Subject: [PATCH] Delete downtify (ct) after migration to ProxmoxVE --- ct/downtify.sh | 70 ------------------------------------- install/downtify-install.sh | 66 ---------------------------------- json/downtify.json | 65 ---------------------------------- 3 files changed, 201 deletions(-) delete mode 100644 ct/downtify.sh delete mode 100644 install/downtify-install.sh delete mode 100644 json/downtify.json diff --git a/ct/downtify.sh b/ct/downtify.sh deleted file mode 100644 index c37247dde1..0000000000 --- a/ct/downtify.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env bash -_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/DevScripts/main" -_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func" -source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func") -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE -# Source: https://github.com/henriquesebastiao/downtify - -APP="Downtify" -var_tags="${var_tags:-music;downloader}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-1024}" -var_disk="${var_disk:-8}" -var_os="${var_os:-debian}" -var_version="${var_version:-13}" -var_arm64="${var_arm64:-yes}" -var_unprivileged="${var_unprivileged:-1}" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /opt/downtify ]]; then - msg_error "No Downtify Installation Found!" - exit - fi - - if check_for_gh_release "downtify" "henriquesebastiao/downtify"; then - msg_info "Stopping Downtify" - systemctl stop downtify - msg_ok "Stopped Downtify" - - PYTHON_VERSION="3.14" setup_uv - NODE_VERSION="26" setup_nodejs - fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-$(arch_resolve "x86_64" "aarch64")-unknown-linux-gnu.zip" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "downtify" "henriquesebastiao/downtify" "tarball" - - msg_info "Building Downtify" - cd /opt/downtify/frontend - $STD npm ci - $STD npm run build - rm -rf /opt/downtify/frontend/node_modules - cd /opt/downtify - $STD uv sync --frozen --no-dev --python 3.14 - msg_ok "Built Downtify" - - msg_info "Starting Downtify" - systemctl start downtify - msg_ok "Started Downtify" - msg_ok "Updated successfully!" - fi - exit -} - -start -build_container -description - -msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" -echo -e "${INFO}${YW}Access it using the following URL:${CL}" -echo -e "${GATEWAY}${BGN}http://${IP}:8000${CL}" -echo -e "${INFO}${YW}Sign in as admin / downtify and change the password right away${CL}" diff --git a/install/downtify-install.sh b/install/downtify-install.sh deleted file mode 100644 index 38c4adb8fb..0000000000 --- a/install/downtify-install.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2026 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE -# Source: https://github.com/henriquesebastiao/downtify - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -setup_ffmpeg -PYTHON_VERSION="3.14" setup_uv -NODE_VERSION="26" setup_nodejs -# yt-dlp solves YouTube's JavaScript challenges with Deno -fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-$(arch_resolve "x86_64" "aarch64")-unknown-linux-gnu.zip" -fetch_and_deploy_gh_release "downtify" "henriquesebastiao/downtify" "tarball" - -msg_info "Building Downtify" -cd /opt/downtify/frontend -$STD npm ci -$STD npm run build -rm -rf /opt/downtify/frontend/node_modules -cd /opt/downtify -# pyproject.toml sets [tool.uv] upgrade = true, so --locked fails whenever PyPI has anything newer than uv.lock -$STD uv sync --frozen --no-dev --python 3.14 -msg_ok "Built Downtify" - -msg_info "Configuring Downtify" -mkdir -p /opt/downtify_data/{data,downloads} -cat </opt/downtify_data/.env -DATABASE_DIR=/opt/downtify_data/data -DOWNLOAD_DIR=/opt/downtify_data/downloads -EOF -msg_ok "Configured Downtify" - -msg_info "Creating Downtify Service" -cat </etc/systemd/system/downtify.service -[Unit] -Description=Downtify -After=network-online.target -Wants=network-online.target - -[Service] -Type=simple -User=root -WorkingDirectory=/opt/downtify -EnvironmentFile=/opt/downtify_data/.env -Environment=WEB_GUI_LOCATION=/opt/downtify/frontend/dist -ExecStart=/opt/downtify/.venv/bin/python /opt/downtify/main.py web -Restart=on-failure -RestartSec=5 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now downtify -msg_ok "Created Downtify Service" - -motd_ssh -customize -cleanup_lxc diff --git a/json/downtify.json b/json/downtify.json deleted file mode 100644 index 9f6e80f9af..0000000000 --- a/json/downtify.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "Downtify", - "slug": "downtify", - "categories": [ - 13 - ], - "date_created": "2026-10-11", - "type": "ct", - "updateable": true, - "privileged": false, - "architectures": [ - "amd64", - "arm64" - ], - "interface_port": 8000, - "documentation": "https://downtify.henriquesebastiao.com/getting-started/", - "website": "https://downtify.henriquesebastiao.com/", - "repository": "https://github.com/henriquesebastiao/downtify", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/downtify.webp", - "description": "Downtify is a self-hosted music downloader with a web interface. Paste a Spotify, YouTube Music or Deezer link, or search by name, and it reads the metadata without a Spotify account or API key, downloads the matching audio from YouTube Music with yt-dlp and tags it with cover art and lyrics. It also has a library with a built-in player, a Playlist Monitor that downloads new tracks from watched playlists and artists, podcasts, M3U export for Jellyfin, Navidrome and Plex, and accounts for several users.", - "install_methods": [ - { - "type": "default", - "script": "ct/downtify.sh", - "config_path": "/opt/downtify_data/.env", - "resources": { - "cpu": 2, - "ram": 1024, - "hdd": 8, - "os": "Debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": "admin", - "password": "downtify" - }, - "notes": [ - { - "text": "Every Downtify server starts with the same login, admin / downtify. Change the password right after the first sign-in in Settings > General > Account. If you forget it, reset it to the default with: cd /opt/downtify && set -a && . /opt/downtify_data/.env && set +a && .venv/bin/python main.py auth-reset", - "type": "warning" - }, - { - "text": "Downtify serves plain HTTP on port 8000. Do not expose it to the internet directly; put it behind a reverse proxy with HTTPS. Add the proxy's address as DOWNTIFY_TRUSTED_PROXIES= to /opt/downtify_data/.env and have the proxy send X-Forwarded-Host/-Proto/-For, otherwise Downtify answers \"Cross-site request refused\" when the proxy rewrites the Host header, and rate-limits sign-ins by the proxy's address.", - "type": "warning" - }, - { - "text": "Music is saved to /opt/downtify_data/downloads. To keep it on a NAS or share it with a media server, bind-mount that folder from the host, e.g. pct set -mp0 /mnt/media/music,mp=/opt/downtify_data/downloads. In an unprivileged container the host folder must be writable by UID 100000.", - "type": "info" - }, - { - "text": "Settings, accounts, the Playlist Monitor database and an uploaded cookies.txt live in /opt/downtify_data/data, outside the app directory, so updates keep them. Optional variables from the documentation (TZ, DOWNTIFY_MONITOR_SYNC_TIME, DOWNTIFY_FORCE_IPV4, ...) go in /opt/downtify_data/.env, followed by systemctl restart downtify.", - "type": "info" - }, - { - "text": "If YouTube starts refusing downloads (\"Sign in to confirm you're not a bot\", age-restricted tracks), upload a cookies.txt from a logged-in browser in Settings > YouTube cookies.", - "type": "info" - }, - { - "text": "Downtify downloads the audio from YouTube. Whether that is allowed depends on YouTube's terms of service and the law where you live.", - "type": "info" - } - ] -}