diff --git a/ct/headers/tracearr b/ct/headers/tracearr deleted file mode 100644 index aee118c88..000000000 --- a/ct/headers/tracearr +++ /dev/null @@ -1,6 +0,0 @@ - ______ - /_ __/________ _________ ____ ___________ - / / / ___/ __ `/ ___/ _ \/ __ `/ ___/ ___/ - / / / / / /_/ / /__/ __/ /_/ / / / / -/_/ /_/ \__,_/\___/\___/\__,_/_/ /_/ - diff --git a/ct/tracearr.sh b/ct/tracearr.sh deleted file mode 100644 index d744db71b..000000000 --- a/ct/tracearr.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-2025 community-scripts ORG -# Author: durzo -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/connorgallopo/Tracearr - -APP="Tracearr" -var_tags="${var_tags:-media}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-2048}" -var_disk="${var_disk:-5}" -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 /etc/systemd/system/tracearr.service ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "tracearr" "connorgallopo/Tracearr"; then - msg_info "Stopping Services" - systemctl stop tracearr postgresql redis - msg_ok "Stopped Services" - - msg_info "Updating pnpm" - PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/connorgallopo/Tracearr/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]' | cut -d'+' -f1)" - export COREPACK_ENABLE_DOWNLOAD_PROMPT=0 - $STD corepack prepare pnpm@${PNPM_VERSION} --activate - msg_ok "Updated pnpm" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tracearr" "connorgallopo/Tracearr" "tarball" "latest" "/opt/tracearr.build" - - msg_info "Building Tracearr" - export TZ=$(cat /etc/timezone) - cd /opt/tracearr.build - $STD pnpm install --frozen-lockfile --force - $STD pnpm turbo telemetry disable - $STD pnpm turbo run build --no-daemon --filter=@tracearr/shared --filter=@tracearr/server --filter=@tracearr/web - rm -rf /opt/tracearr - mkdir -p /opt/tracearr/{packages/shared,apps/server,apps/web,apps/server/src/db} - cp -rf package.json /opt/tracearr/ - cp -rf pnpm-workspace.yaml /opt/tracearr/ - cp -rf pnpm-lock.yaml /opt/tracearr/ - cp -rf apps/server/package.json /opt/tracearr/apps/server/ - cp -rf apps/server/dist /opt/tracearr/apps/server/dist - cp -rf apps/web/dist /opt/tracearr/apps/web/dist - cp -rf packages/shared/package.json /opt/tracearr/packages/shared/ - cp -rf packages/shared/dist /opt/tracearr/packages/shared/dist - cp -rf apps/server/src/db/migrations /opt/tracearr/apps/server/src/db/migrations - cp -rf data /opt/tracearr/data - mkdir -p /opt/tracearr/data/image-cache - rm -rf /opt/tracearr.build - cd /opt/tracearr - $STD pnpm install --prod --frozen-lockfile --ignore-scripts - $STD chown -R tracearr:tracearr /opt/tracearr - msg_ok "Built Tracearr" - - msg_info "Configuring Tracearr" - sed -i "s/^APP_VERSION=.*/APP_VERSION=$(cat /root/.tracearr)/" /data/tracearr/.env - chmod 600 /data/tracearr/.env - chown -R tracearr:tracearr /data/tracearr - msg_ok "Configured Tracearr" - - msg_info "Starting Services" - systemctl start postgresql redis tracearr - 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/frontend/public/json/tracearr.json b/frontend/public/json/tracearr.json deleted file mode 100644 index 458ec538b..000000000 --- a/frontend/public/json/tracearr.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "Tracearr", - "slug": "tracearr", - "categories": [ - 14 - ], - "date_created": "2025-12-28", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 3000, - "documentation": "https://github.com/connorgallopo/Tracearr#readme", - "config_path": "", - "website": "https://github.com/connorgallopo/Tracearr", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tracearr.webp", - "description": "Tracearr is a streaming access manager for Plex, Jellyfin and Emby servers. It answers the question every server owner eventually asks: \"Who's actually using my server, and are they sharing their login?\"", - "install_methods": [ - { - "type": "default", - "script": "ct/tracearr.sh", - "resources": { - "cpu": 2, - "ram": 2048, - "hdd": 5, - "os": "Debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] -} diff --git a/install/tracearr-install.sh b/install/tracearr-install.sh deleted file mode 100644 index 6b03d51d0..000000000 --- a/install/tracearr-install.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: durzo -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/connorgallopo/Tracearr - -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 redis-server -msg_ok "Installed Dependencies" - -NODE_VERSION="22" setup_nodejs -PG_VERSION="18" setup_postgresql - -msg_info "Installing pnpm" -PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/connorgallopo/Tracearr/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]' | cut -d'+' -f1)" -export COREPACK_ENABLE_DOWNLOAD_PROMPT=0 -$STD corepack enable pnpm -$STD corepack prepare pnpm@${PNPM_VERSION} --activate -msg_ok "Installed pnpm" - -msg_info "Installing TimescaleDB" -setup_deb822_repo \ - "timescaledb" \ - "https://packagecloud.io/timescale/timescaledb/gpgkey" \ - "https://packagecloud.io/timescale/timescaledb/debian" \ - "$(get_os_info codename)" \ - "main" -$STD apt install -y \ - timescaledb-2-postgresql-18 \ - timescaledb-tools \ - timescaledb-toolkit-postgresql-18 -total_ram_kb=$(grep MemTotal /proc/meminfo | awk '{print $2}') -ram_for_tsdb=$((total_ram_kb / 1024 / 2)) -$STD timescaledb-tune -yes -memory "$ram_for_tsdb"MB -$STD systemctl restart postgresql -msg_ok "Installed TimescaleDB" - -PG_DB_NAME="tracearr_db" PG_DB_USER="tracearr" PG_DB_EXTENSIONS="timescaledb,timescaledb_toolkit" setup_postgresql_db -fetch_and_deploy_gh_release "tracearr" "connorgallopo/Tracearr" "tarball" "latest" "/opt/tracearr.build" - -msg_info "Building Tracearr" -export TZ=$(cat /etc/timezone) -cd /opt/tracearr.build -$STD pnpm install --frozen-lockfile --force -$STD pnpm turbo telemetry disable -$STD pnpm turbo run build --no-daemon --filter=@tracearr/shared --filter=@tracearr/server --filter=@tracearr/web -mkdir -p /opt/tracearr/{packages/shared,apps/server,apps/web,apps/server/src/db} -cp -rf package.json /opt/tracearr/ -cp -rf pnpm-workspace.yaml /opt/tracearr/ -cp -rf pnpm-lock.yaml /opt/tracearr/ -cp -rf apps/server/package.json /opt/tracearr/apps/server/ -cp -rf apps/server/dist /opt/tracearr/apps/server/dist -cp -rf apps/web/dist /opt/tracearr/apps/web/dist -cp -rf packages/shared/package.json /opt/tracearr/packages/shared/ -cp -rf packages/shared/dist /opt/tracearr/packages/shared/dist -cp -rf apps/server/src/db/migrations /opt/tracearr/apps/server/src/db/migrations -cp -rf data /opt/tracearr/data -mkdir -p /opt/tracearr/data/image-cache -rm -rf /opt/tracearr.build -cd /opt/tracearr -$STD pnpm install --prod --frozen-lockfile --ignore-scripts -msg_ok "Built Tracearr" - -msg_info "Configuring Tracearr" -$STD useradd -r -s /bin/false -U tracearr -$STD chown -R tracearr:tracearr /opt/tracearr -install -d -m 750 -o tracearr -g tracearr /data/tracearr -export JWT_SECRET=$(openssl rand -hex 32) -export COOKIE_SECRET=$(openssl rand -hex 32) -cat </data/tracearr/.env -DATABASE_URL=postgresql://${PG_DB_USER}:${PG_DB_PASS}@127.0.0.1:5432/${PG_DB_NAME} -REDIS_URL=redis://127.0.0.1:6379 -PORT=3000 -HOST=0.0.0.0 -NODE_ENV=production -TZ=${TZ} -LOG_LEVEL=info -JWT_SECRET=$JWT_SECRET -COOKIE_SECRET=$COOKIE_SECRET -APP_VERSION=$(cat /root/.tracearr) -#CORS_ORIGIN=http://localhost:5173 -#MOBILE_BETA_MODE=true -EOF -chmod 600 /data/tracearr/.env -chown -R tracearr:tracearr /data/tracearr -msg_ok "Configured Tracearr" - -msg_info "Creating Services" -cat </data/tracearr/prestart.sh -#!/usr/bin/env bash -# ============================================================================= -# Tune PostgreSQL for available resources (runs every startup) -# ============================================================================= -# timescaledb-tune automatically optimizes PostgreSQL settings based on -# available RAM and CPU. Safe to run repeatedly - recalculates if resources change. -if command -v timescaledb-tune &> /dev/null; then - total_ram_kb=\$(grep MemTotal /proc/meminfo | awk '{print \$2}') - ram_for_tsdb=\$((total_ram_kb / 1024 / 2)) - timescaledb-tune -yes -memory "\$ram_for_tsdb"MB --quiet 2>/dev/null \ - || echo "Warning: timescaledb-tune failed (non-fatal)" -fi -# ============================================================================= -# Ensure TimescaleDB decompression limit is set (for existing databases) -# ============================================================================= -# This setting allows migrations to modify compressed hypertable data. -# Without it, bulk UPDATEs on compressed sessions will fail with -# "tuple decompression limit exceeded" errors. -pg_config_file="/etc/postgresql/18/main/postgresql.conf" -if [ -f \$pg_config_file ]; then - if ! grep -q "max_tuples_decompressed_per_dml_transaction" \$pg_config_file; then - echo "" >> \$pg_config_file - echo "# Allow unlimited tuple decompression for migrations on compressed hypertables" >> \$pg_config_file - echo "timescaledb.max_tuples_decompressed_per_dml_transaction = 0" >> \$pg_config_file - fi -fi -systemctl restart postgresql -EOF -chmod +x /data/tracearr/prestart.sh -cat </lib/systemd/system/tracearr.service -[Unit] -Description=Tracearr Web Server -After=network.target postgresql.service redis-server.service - -[Service] -Type=simple -KillMode=control-group -EnvironmentFile=/data/tracearr/.env -WorkingDirectory=/opt/tracearr -ExecStartPre=+/data/tracearr/prestart.sh -ExecStart=node /opt/tracearr/apps/server/dist/index.js -Restart=on-failure -RestartSec=10 -User=tracearr - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now postgresql redis-server tracearr -msg_ok "Created Services" - -motd_ssh -customize -cleanup_lxc