Update Ghostfolio and Warracker install scripts
Bump default Debian and dependency versions for Ghostfolio and Warracker. Streamline Ghostfolio update and install logic, improve backup handling, and update commands to use latest Node.js, PostgreSQL, and Python versions. Clean up redundant steps and standardize output handling.
This commit is contained in:
parent
01bccd8145
commit
cc4ceee5ab
@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
|
|||||||
var_ram="${var_ram:-4096}"
|
var_ram="${var_ram:-4096}"
|
||||||
var_disk="${var_disk:-8}"
|
var_disk="${var_disk:-8}"
|
||||||
var_os="${var_os:-debian}"
|
var_os="${var_os:-debian}"
|
||||||
var_version="${var_version:-12}"
|
var_version="${var_version:-13}"
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
header_info "$APP"
|
header_info "$APP"
|
||||||
@ -29,43 +29,35 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Stopping $APP"
|
if check_for_gh_release "ghostfolio" "ghostfolio/ghostfolio"; then
|
||||||
|
msg_info "Stopping Service"
|
||||||
systemctl stop ghostfolio
|
systemctl stop ghostfolio
|
||||||
msg_ok "Stopped $APP"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
msg_info "Creating Backup"
|
msg_info "Creating Backup"
|
||||||
tar -czf "/opt/ghostfolio_backup_$(date +%F).tar.gz" /opt/ghostfolio
|
tar -czf "/opt/ghostfolio_backup_$(date +%F).tar.gz" /opt/ghostfolio
|
||||||
|
mv /opt/ghostfolio/.env /opt/env.backup
|
||||||
msg_ok "Backup Created"
|
msg_ok "Backup Created"
|
||||||
|
|
||||||
msg_info "Updating $APP"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio"
|
||||||
systemctl stop ghostfolio
|
|
||||||
|
|
||||||
if [[ -d /opt/ghostfolio ]]; then
|
msg_info "Updating Ghostfolio"
|
||||||
rm -rf /opt/ghostfolio_backup
|
mv /opt/env.backup /opt/ghostfolio/.env
|
||||||
mv /opt/ghostfolio /opt/ghostfolio_backup
|
|
||||||
fi
|
|
||||||
|
|
||||||
if fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio"; then
|
|
||||||
cd /opt/ghostfolio
|
cd /opt/ghostfolio
|
||||||
npm ci
|
$STD npm ci
|
||||||
npm run build:production
|
$STD npm run build:production
|
||||||
npx prisma migrate deploy
|
$STD prisma migrate deploy
|
||||||
msg_ok "Updated $APP"
|
msg_ok "Updated Ghostfolio"
|
||||||
else
|
|
||||||
if [[ -d /opt/ghostfolio_backup ]]; then
|
|
||||||
rm -rf /opt/ghostfolio
|
|
||||||
mv /opt/ghostfolio_backup /opt/ghostfolio
|
|
||||||
fi
|
|
||||||
msg_ok "No update required or update failed. ${APP} is up to date"
|
|
||||||
fi
|
|
||||||
|
|
||||||
msg_info "Starting $APP"
|
msg_info "Starting Service"
|
||||||
systemctl start ghostfolio
|
systemctl start ghostfolio
|
||||||
msg_ok "Started $APP"
|
msg_ok "Started Service"
|
||||||
|
|
||||||
msg_info "Cleaning Up"
|
msg_info "Cleaning Up"
|
||||||
npm cache clean --force
|
$STD npm cache clean --force
|
||||||
msg_ok "Cleanup Completed"
|
msg_ok "Cleanup Completed"
|
||||||
|
msg_ok "Updated Successfully"
|
||||||
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,20 +14,15 @@ network_check
|
|||||||
update_os
|
update_os
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
msg_info "Installing Dependencies"
|
||||||
$STD apt-get install -y \
|
$STD apt install -y \
|
||||||
build-essential \
|
build-essential \
|
||||||
python3 \
|
|
||||||
openssl \
|
openssl \
|
||||||
curl \
|
ca-certificates \
|
||||||
ca-certificates
|
redis-server
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PG_VERSION="15" setup_postgresql
|
PG_VERSION="17" setup_postgresql
|
||||||
NODE_VERSION="22" setup_nodejs
|
NODE_VERSION="24" setup_nodejs
|
||||||
|
|
||||||
msg_info "Installing Redis"
|
|
||||||
$STD apt-get install -y redis-server
|
|
||||||
msg_ok "Installed Redis"
|
|
||||||
|
|
||||||
msg_info "Setting up Database"
|
msg_info "Setting up Database"
|
||||||
DB_NAME=ghostfolio
|
DB_NAME=ghostfolio
|
||||||
@ -52,31 +47,17 @@ $STD sudo -u postgres psql -d $DB_NAME -c "ALTER DEFAULT PRIVILEGES IN SCHEMA pu
|
|||||||
echo "Redis Password: $REDIS_PASS"
|
echo "Redis Password: $REDIS_PASS"
|
||||||
echo "Access Token Salt: $ACCESS_TOKEN_SALT"
|
echo "Access Token Salt: $ACCESS_TOKEN_SALT"
|
||||||
echo "JWT Secret Key: $JWT_SECRET_KEY"
|
echo "JWT Secret Key: $JWT_SECRET_KEY"
|
||||||
if [[ -n "${COINGECKO_DEMO_KEY:-}" ]]; then
|
|
||||||
echo "CoinGecko Demo API Key: $COINGECKO_DEMO_KEY"
|
|
||||||
fi
|
|
||||||
if [[ -n "${COINGECKO_PRO_KEY:-}" ]]; then
|
|
||||||
echo "CoinGecko Pro API Key: $COINGECKO_PRO_KEY"
|
|
||||||
fi
|
|
||||||
echo ""
|
|
||||||
echo "To add CoinGecko API keys later, edit: /opt/ghostfolio/.env"
|
|
||||||
} >>~/ghostfolio.creds
|
} >>~/ghostfolio.creds
|
||||||
msg_ok "Set up Database"
|
msg_ok "Set up Database"
|
||||||
|
|
||||||
msg_info "Configuring Redis"
|
|
||||||
sed -i "s/# requirepass foobared/requirepass $REDIS_PASS/" /etc/redis/redis.conf
|
|
||||||
systemctl restart redis-server
|
|
||||||
msg_ok "Configured Redis"
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio"
|
fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio"
|
||||||
|
|
||||||
msg_info "Installing Ghostfolio Dependencies"
|
msg_info "Setup Ghostfolio"
|
||||||
|
sed -i "s/# requirepass foobared/requirepass $REDIS_PASS/" /etc/redis/redis.conf
|
||||||
|
systemctl restart redis-server
|
||||||
cd /opt/ghostfolio
|
cd /opt/ghostfolio
|
||||||
npm ci
|
$STD npm ci
|
||||||
msg_ok "Installed Dependencies"
|
$STD npm run build:production
|
||||||
|
|
||||||
msg_info "Building Ghostfolio (This may take several minutes)"
|
|
||||||
npm run build:production
|
|
||||||
msg_ok "Built Ghostfolio"
|
msg_ok "Built Ghostfolio"
|
||||||
|
|
||||||
msg_ok "Optional CoinGecko API Configuration"
|
msg_ok "Optional CoinGecko API Configuration"
|
||||||
@ -111,8 +92,8 @@ msg_ok "Set up Environment"
|
|||||||
|
|
||||||
msg_info "Running Database Migrations"
|
msg_info "Running Database Migrations"
|
||||||
cd /opt/ghostfolio
|
cd /opt/ghostfolio
|
||||||
npx prisma migrate deploy
|
$STD npx prisma migrate deploy
|
||||||
npx prisma db seed
|
$STD npx prisma db seed
|
||||||
msg_ok "Database Migrations Complete"
|
msg_ok "Database Migrations Complete"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
@ -143,7 +124,8 @@ motd_ssh
|
|||||||
customize
|
customize
|
||||||
|
|
||||||
msg_info "Cleaning up"
|
msg_info "Cleaning up"
|
||||||
npm cache clean --force
|
$STD npm cache clean --force
|
||||||
$STD apt-get -y autoremove
|
$STD apt -y autoremove
|
||||||
$STD apt-get -y autoclean
|
$STD apt -y autoclean
|
||||||
|
$STD apt -y clean
|
||||||
msg_ok "Cleaned"
|
msg_ok "Cleaned"
|
||||||
|
@ -20,7 +20,7 @@ $STD apt install -y \
|
|||||||
nginx
|
nginx
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
PYTHON_VERSION="3.12" setup_uv
|
PYTHON_VERSION="3.13" setup_uv
|
||||||
PG_VERSION="17" setup_postgresql
|
PG_VERSION="17" setup_postgresql
|
||||||
|
|
||||||
msg_info "Setup PostgreSQL"
|
msg_info "Setup PostgreSQL"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user