ProxmoxVED/ct/ghostfolio.sh
CanbiZ cc4ceee5ab 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.
2025-09-29 14:08:07 +02:00

72 lines
2.0 KiB
Bash

#!/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: lucasfell
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://ghostfol.io/
APP="Ghostfolio"
var_tags="${var_tags:-finance;investment}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-8}"
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 /opt/ghostfolio/dist/apps/api/main.js ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "ghostfolio" "ghostfolio/ghostfolio"; then
msg_info "Stopping Service"
systemctl stop ghostfolio
msg_ok "Stopped Service"
msg_info "Creating Backup"
tar -czf "/opt/ghostfolio_backup_$(date +%F).tar.gz" /opt/ghostfolio
mv /opt/ghostfolio/.env /opt/env.backup
msg_ok "Backup Created"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio"
msg_info "Updating Ghostfolio"
mv /opt/env.backup /opt/ghostfolio/.env
cd /opt/ghostfolio
$STD npm ci
$STD npm run build:production
$STD prisma migrate deploy
msg_ok "Updated Ghostfolio"
msg_info "Starting Service"
systemctl start ghostfolio
msg_ok "Started Service"
msg_info "Cleaning Up"
$STD npm cache clean --force
msg_ok "Cleanup Completed"
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}:3333${CL}"