Please provide the basic information of the app
App name(Required)
Wealthfolio
Project URL(Required, Github preferred)
https://github.com/wealthfolio/wealthfolio (upstream site: https://wealthfolio.app)
Container image URL(Optional but helpful)
wealthfolio/wealthfolio:latest on Docker Hub — multi-arch (linux/amd64, linux/arm64), so no rebuild is needed for either Olares node arch. Mirror also published at ghcr.io/wealthfolio/wealthfolio.
Reasons(Optional)
Local-first, privacy-first personal finance tracker (investments, net worth, spending, simulations) — a natural fit for Olares' self-hosted audience; upstream is actively developed and widely used (~9k stars), AGPL-3.0.
Single stateless container + SQLite on a data volume: maps cleanly onto the Olares userspace-storage model (appData hostPath mounted at /data, uid/gid 1000). No external database needed — no system middleware wiring required.
Built-in auth (Argon2id password hash) and a native MCP server for AI-agent access with scoped, revocable tokens — pairs well with Olares' AI/Router direction.
Additional context
I already built and run a working Olares chart for it on my own device (Olares 1.12.6). A reference implementation is public here: https://github.com/abidals/Wealthfolio-Olares. What the port does, in case it helps maintainers:
apiVersion: v3 manifest; image runs as uid/gid 1000 (spec.runAsUser: true) with a non-recursive init-permissions initContainer for the userspace mount.
Storage: single userspace appData volume mounted at /data; entrance on port 8088, CORS pinned to the app's own origin.
Secrets design (nothing baked into the chart):
WF_SECRET_KEY (master/JWT key) is generated once per install via Helm lookup + randAlphaNum, stored in a Secret with helm.sh/resource-policy: keep so reinstalls can still decrypt old data;
the login password is supplied at install as an Argon2id PHC hash (WF_AUTH_PASSWORD_HASH, type: password, editable: true, applyOnChange: true) — the app never accepts a plaintext password.
Optional AI-agent access: WF_MCP_ENABLED (bool, default false, editable + auto-restart) toggles the app's /mcp endpoint; tokens are scoped/revocable and audit logging is on by default upstream.
Entrance is authLevel: public deliberately — Wealthfolio's own password gate + PAT bearer auth is the access control for the MCP endpoint (the app refuses to start with MCP enabled but no auth configured).
Suggested Market category: Lifestyle (same as Firefly III). (There is no Finance category :) )
Happy to open a PR against this repo with the chart (I can adapt it to your review feedback), or hand it over as-is if you prefer.
Community voting & Contribution
📊Voting matters
If you want this update, vote with 👍 (thumbs up) on the issue. We prioritize requests with higher community interest.
🙌You can help!
Already done — a working, lint-clean chart exists at https://github.com/abidals/Wealthfolio-Olares and runs on Olares 1.12.6 (install + upgrade verified). Happy to open the PR myself; please assign me to this issue.
Please provide the basic information of the app
App name(Required)
Wealthfolio
Project URL(Required, Github preferred)
https://github.com/wealthfolio/wealthfolio (upstream site: https://wealthfolio.app)
Container image URL(Optional but helpful)
wealthfolio/wealthfolio:latest on Docker Hub — multi-arch (linux/amd64, linux/arm64), so no rebuild is needed for either Olares node arch. Mirror also published at ghcr.io/wealthfolio/wealthfolio.
Reasons(Optional)
Local-first, privacy-first personal finance tracker (investments, net worth, spending, simulations) — a natural fit for Olares' self-hosted audience; upstream is actively developed and widely used (~9k stars), AGPL-3.0.
Single stateless container + SQLite on a data volume: maps cleanly onto the Olares userspace-storage model (appData hostPath mounted at /data, uid/gid 1000). No external database needed — no system middleware wiring required.
Built-in auth (Argon2id password hash) and a native MCP server for AI-agent access with scoped, revocable tokens — pairs well with Olares' AI/Router direction.
Additional context
I already built and run a working Olares chart for it on my own device (Olares 1.12.6). A reference implementation is public here: https://github.com/abidals/Wealthfolio-Olares. What the port does, in case it helps maintainers:
apiVersion: v3 manifest; image runs as uid/gid 1000 (spec.runAsUser: true) with a non-recursive init-permissions initContainer for the userspace mount.
Storage: single userspace appData volume mounted at /data; entrance on port 8088, CORS pinned to the app's own origin.
Secrets design (nothing baked into the chart):
WF_SECRET_KEY (master/JWT key) is generated once per install via Helm lookup + randAlphaNum, stored in a Secret with helm.sh/resource-policy: keep so reinstalls can still decrypt old data;
the login password is supplied at install as an Argon2id PHC hash (WF_AUTH_PASSWORD_HASH, type: password, editable: true, applyOnChange: true) — the app never accepts a plaintext password.
Optional AI-agent access: WF_MCP_ENABLED (bool, default false, editable + auto-restart) toggles the app's /mcp endpoint; tokens are scoped/revocable and audit logging is on by default upstream.
Entrance is authLevel: public deliberately — Wealthfolio's own password gate + PAT bearer auth is the access control for the MCP endpoint (the app refuses to start with MCP enabled but no auth configured).
Suggested Market category: Lifestyle (same as Firefly III). (There is no Finance category :) )
Happy to open a PR against this repo with the chart (I can adapt it to your review feedback), or hand it over as-is if you prefer.
Community voting & Contribution
📊Voting matters
If you want this update, vote with 👍 (thumbs up) on the issue. We prioritize requests with higher community interest.
🙌You can help!
Already done — a working, lint-clean chart exists at https://github.com/abidals/Wealthfolio-Olares and runs on Olares 1.12.6 (install + upgrade verified). Happy to open the PR myself; please assign me to this issue.