From af1d357aa17666aa85d51271d5daae62e339ae1d Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Thu, 7 Aug 2025 08:25:48 +0200 Subject: [PATCH] Update tracktor-install.sh --- install/tracktor-install.sh | 75 +++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/install/tracktor-install.sh b/install/tracktor-install.sh index 8b137891..1deccea1 100644 --- a/install/tracktor-install.sh +++ b/install/tracktor-install.sh @@ -1 +1,76 @@ +#!/usr/bin/env bash +# Copyright (c) 2025 Community Scripts ORG +# Author: CrazyWolf13 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://tracktor.bytedge.in + +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 \ + sqlite3 \ + yq +msg_ok "Installed Dependencies" + +NODE_VERSION="20" setup_nodejs +fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" + +msg_info "Configuring Tududi" +cd /opt/tududi +$STD npm install +export NODE_ENV=production +$STD npm run frontend:build +mv ./dist ./backend +mv ./public/locales ./backend/dist +mv ./public/favicon.* ./backend/dist +msg_ok "Configured Tududi" + +msg_info "Creating env and database" +DB_LOCATION="/opt/tududi-db" +UPLOAD_DIR="/opt/tududi-uploads" +mkdir -p {"$DB_LOCATION","$UPLOAD_DIR"} +SECRET="$(openssl rand -hex 64)" +sed -e 's/^GOOGLE/# &/' \ + -e '/TUDUDI_SESSION/s/^# //' \ + -e '/NODE_ENV/s/^# //' \ + -e "s/your_session_secret_here/$SECRET/" \ + -e 's/development/production/' \ + -e "\$a\DB_FILE=$DB_LOCATION/production.sqlite3" \ + -e "\$a\TUDUDI_UPLOAD_PATH=$UPLOAD_DIR" \ + /opt/tududi/backend/.env.example >/opt/tududi/backend/.env +export DB_FILE="$DB_LOCATION/production.sqlite3" +$STD npm run db:init +msg_ok "Created env and database" + +msg_info "Creating service" +cat </etc/systemd/system/tududi.service +[Unit] +Description=Tududi Service +After=network.target + +[Service] +Type=simple +WorkingDirectory=/opt/tududi +EnvironmentFile=/opt/tududi/backend/.env +ExecStart=/usr/bin/npm run start + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now tududi +msg_ok "Created service" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned"