diff --git a/ct/wealthfolio.sh b/ct/wealthfolio.sh deleted file mode 100644 index e52639587..000000000 --- a/ct/wealthfolio.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) -# Copyright (c) 2021-2026 community-scripts ORG -# Author: CrazyWolf13 -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://wealthfolio.app/ - -APP="Wealthfolio" -var_tags="${var_tags:-finance;portfolio}" -var_cpu="${var_cpu:-4}" -var_ram="${var_ram:-4096}" -var_disk="${var_disk:-10}" -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 [[ ! -d /opt/wealthfolio ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if check_for_gh_release "wealthfolio" "afadil/wealthfolio"; then - msg_info "Stopping Service" - systemctl stop wealthfolio - msg_ok "Stopped Service" - - msg_info "Backing up Data" - cp -r /opt/wealthfolio_data /opt/wealthfolio_data_backup - cp /opt/wealthfolio/.env /opt/wealthfolio_env_backup - msg_ok "Backed up Data" - - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wealthfolio" "afadil/wealthfolio" "tarball" - - msg_info "Building Frontend (patience)" - cd /opt/wealthfolio - $STD pnpm install --frozen-lockfile - $STD pnpm tsc - $STD pnpm vite build - msg_ok "Built Frontend" - - msg_info "Building Backend (patience)" - cd /opt/wealthfolio/src-server - source ~/.cargo/env - $STD cargo build --release --manifest-path Cargo.toml - cp /opt/wealthfolio/src-server/target/release/wealthfolio-server /usr/local/bin/wealthfolio-server - chmod +x /usr/local/bin/wealthfolio-server - msg_ok "Built Backend" - - msg_info "Restoring Data" - cp -r /opt/wealthfolio_data_backup/. /opt/wealthfolio_data - cp /opt/wealthfolio_env_backup /opt/wealthfolio/.env - rm -rf /opt/wealthfolio_data_backup /opt/wealthfolio_env_backup - msg_ok "Restored Data" - - msg_info "Cleaning Up" - rm -rf /opt/wealthfolio/src-server/target - rm -rf /root/.cargo/registry - rm -rf /opt/wealthfolio/node_modules - msg_ok "Cleaned Up" - - msg_info "Starting Service" - systemctl start wealthfolio - msg_ok "Started Service" - 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}:8080${CL}" diff --git a/frontend/public/json/github-versions.json b/frontend/public/json/github-versions.json index a2c97554c..85c22ee41 100644 --- a/frontend/public/json/github-versions.json +++ b/frontend/public/json/github-versions.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-31T18:42:49Z", + "generated": "2026-02-04T07:03:37Z", "versions": [ { "slug": "affine", @@ -11,23 +11,30 @@ { "slug": "anytype", "repo": "grishy/any-sync-bundle", - "version": "v1.2.1-2025-12-10", + "version": "v1.3.0-2026-01-31", "pinned": false, - "date": "2025-12-24T20:40:15Z" + "date": "2026-02-01T17:27:12Z" + }, + { + "slug": "checkmate", + "repo": "bluewave-labs/Checkmate", + "version": "v3.3", + "pinned": false, + "date": "2026-01-28T14:25:25Z" }, { "slug": "databasus", "repo": "databasus/databasus", - "version": "v3.7.0", + "version": "v3.8.3", "pinned": false, - "date": "2026-01-28T14:46:28Z" + "date": "2026-02-02T18:14:53Z" }, { "slug": "ente", "repo": "ente-io/ente", - "version": "photos-v1.3.7", + "version": "photos-v1.3.10", "pinned": false, - "date": "2026-01-29T17:20:41Z" + "date": "2026-02-03T11:06:10Z" }, { "slug": "frigate", @@ -36,6 +43,13 @@ "pinned": false, "date": "2026-01-29T00:42:14Z" }, + { + "slug": "garmin-grafana", + "repo": "arpanghosh8453/garmin-grafana", + "version": "v0.3.0", + "pinned": false, + "date": "2025-05-15T21:39:19Z" + }, { "slug": "hoodik", "repo": "hudikhq/hoodik", @@ -50,13 +64,6 @@ "pinned": false, "date": "2025-10-19T17:43:10Z" }, - { - "slug": "kitchenowl", - "repo": "TomBursch/kitchenowl", - "version": "v0.7.6", - "pinned": false, - "date": "2026-01-24T01:21:14Z" - }, { "slug": "minthcm", "repo": "minthcm/minthcm", @@ -71,6 +78,13 @@ "pinned": false, "date": "2026-01-31T00:09:18Z" }, + { + "slug": "nginx-ui", + "repo": "0xJacky/nginx-ui", + "version": "v2.3.2", + "pinned": false, + "date": "2025-12-09T09:47:15Z" + }, { "slug": "nightscout", "repo": "nightscout/cgm-remote-monitor", @@ -106,13 +120,6 @@ "pinned": false, "date": "2026-01-23T17:03:31Z" }, - { - "slug": "rustypaste", - "repo": "orhun/rustypaste", - "version": "v0.16.1", - "pinned": false, - "date": "2025-03-21T20:44:47Z" - }, { "slug": "seer", "repo": "seerr-team/seerr", @@ -120,13 +127,6 @@ "pinned": false, "date": "2025-08-14T20:43:46Z" }, - { - "slug": "shelfmark", - "repo": "FlareSolverr/FlareSolverr", - "version": "v3.4.6", - "pinned": false, - "date": "2025-11-29T02:43:00Z" - }, { "slug": "sonobarr", "repo": "Dodelidoo-Labs/sonobarr", @@ -140,6 +140,13 @@ "version": "v0.59.0", "pinned": false, "date": "2026-01-19T16:42:14Z" + }, + { + "slug": "writefreely", + "repo": "writefreely/writefreely", + "version": "v0.16.0", + "pinned": false, + "date": "2025-08-29T19:30:02Z" } ] } diff --git a/frontend/public/json/wealthfolio.json b/frontend/public/json/wealthfolio.json deleted file mode 100644 index 8c5508b54..000000000 --- a/frontend/public/json/wealthfolio.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "Wealthfolio", - "slug": "wealthfolio", - "categories": [ - 23 - ], - "date_created": "2026-02-03", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 8080, - "documentation": "https://wealthfolio.app/docs/introduction/", - "config_path": "/opt/wealthfolio/.env", - "website": "https://wealthfolio.app/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/wealthfolio.webp", - "description": "Wealthfolio is a beautiful, privacy-focused investment tracker with local data storage. Track your portfolio across multiple accounts and asset types with detailed performance analytics, goal planning, and multi-currency support.", - "install_methods": [ - { - "type": "default", - "script": "ct/wealthfolio.sh", - "resources": { - "cpu": 4, - "ram": 4096, - "hdd": 10, - "os": "Debian", - "version": "13" - } - } - ], - "default_credentials": { - "username": null, - "password": "See ~/wealthfolio.creds" - }, - "notes": [ - { - "text": "Login password is stored in ~/wealthfolio.creds", - "type": "info" - } - ] -} diff --git a/install/powerdns-install.sh b/install/powerdns-install.sh index 973be32f3..a9caa7345 100644 --- a/install/powerdns-install.sh +++ b/install/powerdns-install.sh @@ -31,6 +31,10 @@ Pin: origin repo.powerdns.com Pin-Priority: 600 EOF +escape_sql() { + printf '%s' "$1" | sed "s/'/''/g" +} + msg_info "Setting up PowerDNS" $STD apt install -y pdns-server \ pdns-backend-sqlite3 @@ -39,7 +43,23 @@ msg_ok "Setup PowerDNS" fetch_and_deploy_gh_release "poweradmin" "poweradmin/poweradmin" "tarball" msg_info "Setting up Poweradmin" -sqlite3 /opt/poweradmin/powerdns.db < /usr/share/doc/pdns-backend-sqlite3/schema.sqlite3.sql +sqlite3 /opt/poweradmin/powerdns.db < /opt/poweradmin/sql/poweradmin-sqlite-db-structure.sql +sqlite3 /opt/poweradmin/powerdns.db < /opt/poweradmin/sql/pdns/49/schema.sqlite3.sql +PA_ADMIN_USERNAME="admin" +PA_ADMIN_EMAIL="admin@example.com" +PA_ADMIN_FULLNAME="Administrator" +PA_ADMIN_PASSWORD=$(openssl rand -base64 16 | tr -d "=+/" | cut -c1-16) +PA_SESSION_KEY=$(openssl rand -base64 75 | tr -dc 'A-Za-z0-9^@#!(){}[]%_\-+=~' | head -c 50) +PASSWORD_HASH=$(php -r "echo password_hash(\$argv[1], PASSWORD_DEFAULT);" -- "${PA_ADMIN_PASSWORD}" 2>/dev/null) +sqlite3 /opt/poweradmin/powerdns.db "INSERT INTO users (username, password, fullname, email, description, perm_templ, active, use_ldap) \ + VALUES ('$(escape_sql "${PA_ADMIN_USERNAME}")', '$(escape_sql "${PASSWORD_HASH}")', '$(escape_sql "${PA_ADMIN_FULLNAME}")', \ + '$(escape_sql "${PA_ADMIN_EMAIL}")', 'System Administrator', 1, 1, 0);" + +cat <~/poweradmin.creds +Admin Username: ${PA_ADMIN_USERNAME} +Admin Password: ${PA_ADMIN_PASSWORD} +EOF + cat </opt/poweradmin/config/settings.php [ - 'session_key' => '5c\$^vK#l!*@mj4Id(WWzsosruN\$fkhaqLQo@i-s6ZBV)8C', + 'session_key' => '${PA_SESSION_KEY}', ], /** @@ -82,13 +102,14 @@ return [ ] ]; EOF +rm -rf /opt/poweradmin/install msg_ok "Setup Poweradmin" msg_info "Creating Service" rm /etc/apache2/sites-enabled/000-default.conf cat </etc/apache2/sites-enabled/poweradmin.conf - ServerName $HOSTNAME + ServerName localhost DocumentRoot /opt/poweradmin diff --git a/install/wealthfolio-install.sh b/install/wealthfolio-install.sh deleted file mode 100644 index 8ee9c6e36..000000000 --- a/install/wealthfolio-install.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2026 community-scripts ORG -# Author: CrazyWolf13 -# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE -# Source: https://wealthfolio.app/ - -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 \ - pkg-config \ - libssl-dev \ - build-essential \ - libsqlite3-dev \ - argon2 -msg_ok "Installed Dependencies" - -setup_rust -NODE_MODULE="pnpm" setup_nodejs -fetch_and_deploy_gh_release "wealthfolio" "afadil/wealthfolio" "tarball" - -msg_info "Building Frontend (patience)" -cd /opt/wealthfolio -$STD pnpm install --frozen-lockfile -$STD pnpm tsc -$STD pnpm vite build -msg_ok "Built Frontend" - -msg_info "Building Backend (patience)" -cd /opt/wealthfolio/src-server -$STD cargo build --release --manifest-path Cargo.toml -cp /opt/wealthfolio/src-server/target/release/wealthfolio-server /usr/local/bin/wealthfolio-server -chmod +x /usr/local/bin/wealthfolio-server -msg_ok "Built Backend" - -msg_info "Configuring Wealthfolio" -mkdir -p /opt/wealthfolio_data -SECRET_KEY=$(openssl rand -base64 32) -WF_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-16) -WF_PASSWORD_HASH=$(echo -n "$WF_PASSWORD" | argon2 "$(openssl rand -base64 16)" -id -e) -cat </opt/wealthfolio/.env -WF_LISTEN_ADDR=0.0.0.0:8080 -WF_DB_PATH=/opt/wealthfolio_data/wealthfolio.db -WF_SECRET_KEY=${SECRET_KEY} -WF_AUTH_PASSWORD_HASH=${WF_PASSWORD_HASH} -WF_STATIC_DIR=/opt/wealthfolio/dist -WF_CORS_ALLOW_ORIGINS=* -WF_REQUEST_TIMEOUT_MS=30000 -EOF -echo "WF_PASSWORD=${WF_PASSWORD}" >~/wealthfolio.creds -msg_ok "Configured Wealthfolio" - -msg_info "Cleaning Up" -rm -rf /opt/wealthfolio/src-server/target -rm -rf /root/.cargo/registry -rm -rf /opt/wealthfolio/node_modules -msg_ok "Cleaned Up" - -msg_info "Creating Service" -cat </etc/systemd/system/wealthfolio.service -[Unit] -Description=Wealthfolio Investment Tracker -After=network.target - -[Service] -Type=simple -User=root -WorkingDirectory=/opt/wealthfolio -EnvironmentFile=/opt/wealthfolio/.env -ExecStart=/usr/local/bin/wealthfolio-server -Restart=on-failure -RestartSec=5 - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now wealthfolio -msg_ok "Created Service" - -motd_ssh -customize -cleanup_lxc