From 12dba1c55b807f7acf5b1ced2d7e0a372230fe3b Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Thu, 10 Apr 2025 08:30:38 +0200 Subject: [PATCH] Remove Actualbudget (#3801) --- ct/actualbudget.sh | 136 ------------------------- ct/headers/actualbudget | 6 -- frontend/public/json/actualbudget.json | 34 ------- install/actualbudget-install.sh | 102 ------------------- 4 files changed, 278 deletions(-) delete mode 100644 ct/actualbudget.sh delete mode 100644 ct/headers/actualbudget delete mode 100644 frontend/public/json/actualbudget.json delete mode 100644 install/actualbudget-install.sh diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh deleted file mode 100644 index 10df637df..000000000 --- a/ct/actualbudget.sh +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://actualbudget.org/ - -APP="Actual Budget" -var_tags="finance" -var_cpu="2" -var_ram="4096" -var_disk="7" -var_os="debian" -var_version="12" -var_unprivileged="1" - -header_info "$APP" -variables -color -catch_errors - -function update_script() { - header_info - check_container_storage - check_container_resources - - if [[ ! -d /opt/actualbudget ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then - msg_info "Stopping ${APP}" - systemctl stop actualbudget - msg_ok "${APP} Stopped" - - if ! command -v git &>/dev/null; then - msg_info "Installing git" - $STD apt-get update - $STD apt-get install -y git - msg_ok "Installed git" - fi - - msg_info "Updating ${APP} to ${RELEASE}" - cd /tmp || exit - curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz" - - mv /opt/actualbudget /opt/actualbudget_bak - tar -xzf "v${RELEASE}.tar.gz" - mv "actual-${RELEASE}" /opt/actualbudget - - mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config} - for dir in server-files .migrate user-files migrations; do - if [[ -d /opt/actualbudget_bak/$dir ]]; then - mv /opt/actualbudget_bak/$dir/* /opt/actualbudget-data/$dir/ || true - fi - done - if [[ -f /opt/actualbudget-data/migrate/.migrations ]]; then - sed -i 's/null/1732656575219/g' /opt/actualbudget-data/migrate/.migrations - sed -i 's/null/1732656575220/g' /opt/actualbudget-data/migrate/.migrations - fi - if [[ -f /opt/actualbudget/server-files/account.sqlite ]] && [[ ! -f /opt/actualbudget-data/server-files/account.sqlite ]]; then - mv /opt/actualbudget/server-files/account.sqlite /opt/actualbudget-data/server-files/account.sqlite - fi - - if [[ -f /opt/actualbudget_bak/selfhost.key ]]; then - mv /opt/actualbudget_bak/selfhost.key /opt/actualbudget/selfhost.key - mv /opt/actualbudget_bak/selfhost.crt /opt/actualbudget/selfhost.crt - fi - - if [[ -f /opt/actualbudget_bak/.env ]]; then - mv /opt/actualbudget_bak/.env /opt/actualbudget-data/.env - else - cat </opt/actualbudget-data/.env -ACTUAL_UPLOAD_DIR=/opt/actualbudget-data/upload -ACTUAL_DATA_DIR=/opt/actualbudget-data -ACTUAL_SERVER_FILES_DIR=/opt/actualbudget-data/server-files -ACTUAL_USER_FILES=/opt/actualbudget-data/user-files -PORT=5006 -ACTUAL_TRUSTED_PROXIES="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,127.0.0.1/32,::1/128,fc00::/7" -ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key -ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt -EOF - fi - cd /opt/actualbudget || exit - export NODE_OPTIONS="--max_old_space_size=3072" - $STD yarn install - $STD yarn run build:server - #$STD yarn workspaces focus @actual-app/sync-server --production - echo "${RELEASE}" >/opt/actualbudget_version.txt - msg_ok "Updated ${APP}" - - msg_info "Starting ${APP}" - cat </etc/systemd/system/actualbudget.service -[Unit] -Description=Actual Budget Service -After=network.target - -[Service] -Type=simple -User=root -Group=root -WorkingDirectory=/opt/actualbudget -EnvironmentFile=/opt/actualbudget-data/.env -ExecStart=/usr/bin/yarn start:server -Restart=always -RestartSec=10 - -[Install] -WantedBy=multi-user.target -EOF - - systemctl daemon-reload - systemctl start actualbudget - msg_ok "Started ${APP}" - - msg_info "Cleaning Up" - rm -rf /opt/actualbudget_bak - rm -rf "/tmp/v${RELEASE}.tar.gz" - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - 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}https://${IP}:5006${CL}" diff --git a/ct/headers/actualbudget b/ct/headers/actualbudget deleted file mode 100644 index db7f30933..000000000 --- a/ct/headers/actualbudget +++ /dev/null @@ -1,6 +0,0 @@ - ___ __ __ ____ __ __ - / | _____/ /___ ______ _/ / / __ )__ ______/ /___ ____ / /_ - / /| |/ ___/ __/ / / / __ `/ / / __ / / / / __ / __ `/ _ \/ __/ - / ___ / /__/ /_/ /_/ / /_/ / / / /_/ / /_/ / /_/ / /_/ / __/ /_ -/_/ |_\___/\__/\__,_/\__,_/_/ /_____/\__,_/\__,_/\__, /\___/\__/ - /____/ diff --git a/frontend/public/json/actualbudget.json b/frontend/public/json/actualbudget.json deleted file mode 100644 index d364d4463..000000000 --- a/frontend/public/json/actualbudget.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "Actual Budget", - "slug": "actualbudget", - "categories": [ - 23 - ], - "date_created": "2024-05-02", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 5006, - "documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/807", - "website": "https://actualbudget.org/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/actual-budget.svg", - "description": "Actual Budget is a super fast and privacy-focused app for managing your finances. At its heart is the well proven and much loved Envelope Budgeting methodology.", - "install_methods": [ - { - "type": "default", - "script": "ct/actualbudget.sh", - "resources": { - "cpu": 2, - "ram": 4096, - "hdd": 7, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] -} diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh deleted file mode 100644 index c09b59480..000000000 --- a/install/actualbudget-install.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 community-scripts ORG -# Author: MickLesk (CanbiZ) -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://actualbudget.org/ - -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 \ - tini \ - gpg \ - build-essential \ - git -msg_ok "Installed Dependencies" - -msg_info "Setting up Node.js Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install --global yarn -msg_ok "Installed Node.js" - -msg_info "Installing Actual Budget" -cd /opt || exit -RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz") -tar -xzf v"${RELEASE}".tar.gz -mv actual-"${RELEASE}" /opt/actualbudget - -mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config} -chown -R root:root /opt/actualbudget-data -chmod -R 755 /opt/actualbudget-data - -cat </opt/actualbudget-data/.env -ACTUAL_UPLOAD_DIR=/opt/actualbudget-data/upload -ACTUAL_DATA_DIR=/opt/actualbudget-data -ACTUAL_SERVER_FILES_DIR=/opt/actualbudget-data/server-files -ACTUAL_USER_FILES=/opt/actualbudget-data/user-files -PORT=5006 -ACTUAL_TRUSTED_PROXIES="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,127.0.0.1/32,::1/128,fc00::/7" -ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key -ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt -EOF -cd /opt/actualbudget || exit -export NODE_OPTIONS="--max_old_space_size=3072" -$STD yarn install -$STD yarn run build:server -$STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt <"/opt/actualbudget_version.txt" -msg_ok "Installed Actual Budget" - -msg_info "Creating Service" -cat </etc/systemd/system/actualbudget.service -[Unit] -Description=Actual Budget Service -After=network.target - -[Service] -Type=simple -User=root -Group=root -WorkingDirectory=/opt/actualbudget -EnvironmentFile=/opt/actualbudget-data/.env -ExecStart=/usr/bin/yarn start:server -Restart=always -RestartSec=10 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now actualbudget -msg_ok "Created Service" - -motd_ssh -customize - -msg_info "Cleaning up" -rm -rf /opt/v"${RELEASE}".tar.gz -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned"