Wealthfolio — Private, Local-First Wealth Tracker
Wealthfolio is an open-source, private, local-first portfolio and net-worth tracker. Your financial data stays on your device (or your own server) — no account required, no cloud database, free forever. Pitch: "the simple, open-source portfolio tracker that keeps your financial data safe."
Overview
- Local-first & private — data lives in a local autonomous database; nothing leaves your machine unless you opt into Connect.
- Three forms — Desktop (macOS Apple Silicon/Intel, Windows x64/ARM64, Linux AppImage), Mobile (iOS now, Android soon), and Self-Hosted Web (Docker, browser access).
- Core data entry — manual activities or CSV import; the core app has no built-in broker integration.
- Wealthfolio Connect (optional paid) — automatic read-only broker sync (30+ institutions) and end-to-end-encrypted multi-device sync.
- Tracks — investments across accounts/asset types, cost basis & lots, performance vs. benchmarks, income (dividends/interest), spending & budgets, goals, retirement/FIRE, and contribution limits.
- Extensible — a Tauri (Rust + React) app with a developer addon system (live-reload dev mode, CLI scaffolding, typed addon API) and a local AI assistant (via Ollama).
Quick Start
1. Download for your OS from https://wealthfolio.app/download (or self-host with Docker).
2. Complete the onboarding wizard.
3. Add accounts (bank / investment / crypto).
4. Add activities manually or via CSV import.
5. Explore dashboards: portfolio value, gain/loss, income, goals.
Self-host in one command:
docker run -d --name wealthfolio -p 8088:8080 \
-v wealthfolio-data:/data \
-e WF_CORS_ALLOW_ORIGINS="http://localhost:8088" \
afadil/wealthfolio:latest
Core Concepts
- Tracking modes — Holdings (simple: track current positions) vs Transactions (full activity history for precise cost basis & realized gains). See tracking-modes.
- Cost basis & lots — FIFO lot accounting drives realized/unrealized gains. See cost-basis-and-lots.
- Performance metrics — TWR vs MWR/money-weighted return, benchmarking. See performance-metrics.
- Market data & FX — quotes, multi-currency, and custom providers. See market-data-and-fx.
Documentation
Getting started
- Introduction — what it is, the three platforms, privacy model
- Quick Start — install, onboarding, first accounts & activities
Concepts
- Overview · Tracking Modes · Activity Types
- Cost Basis & Lots · Performance Metrics · Market Data & FX
User guide
- Overview · Dashboards · Activities · CSV Import · Accounts & Portfolios
- Spending & Budgets · Allocation Targets & Rebalancing · Goals · Retirement & FIRE · Contribution Limits
- Market Data Providers · Health Center · Settings · Export & Backup
Sync & AI
- Connect & Broker Sync · AI Assistant (Ollama) · Mobile
Self-hosting
- Overview · Configuration · Docker · Docker Compose
- Unraid · Proxmox · Coolify · Reverse Proxy
Addon development
- Getting Started — Node 20+, pnpm, dev mode, CLI scaffolding
- API Reference — the typed addon API surface
Reference
Common Workflows
- Import a broker history: export CSV from your broker → map columns in the CSV Import wizard → review activity types → verify holdings.
- Self-host for the family: deploy via Docker Compose, set
WF_CORS_ALLOW_ORIGINS, front it with a reverse proxy.
- Build an addon: clone the repo, run addon dev mode (live reload), scaffold with the CLI, code against the addon API.
Upstream Sources
Sync & Update
Docs under docs/ mirror the upstream wealthfolio.app/docs URL structure. Run discover-pages.sh to detect new upstream pages; run the sync script (or sync) to refresh cached docs. On diff, compare current docs/ vs upstream.
1---2name: wealthfolio3description: Expert on Wealthfolio — the open-source, private, local-first portfolio, investment, and net-worth tracker (desktop, iOS, and self-hosted Docker). Use when tracking accounts/holdings/activities, importing data via CSV, understanding cost basis, performance metrics, or tracking modes, self-hosting via Docker/Unraid/Proxmox/Coolify, configuring Connect broker sync or the AI assistant, or building Wealthfolio addons. Triggers on mentions of Wealthfolio, portfolio tracker, net worth tracker, Wealthfolio Connect, self-hosted finance tracker, wealthfolio addon.4---56# Wealthfolio — Private, Local-First Wealth Tracker78Wealthfolio is an **open-source, private, local-first** portfolio and net-worth tracker. Your financial data stays on your device (or your own server) — no account required, no cloud database, free forever. Pitch: *"the simple, open-source portfolio tracker that keeps your financial data safe."*910## Overview1112- **Local-first & private** — data lives in a local autonomous database; nothing leaves your machine unless you opt into Connect.13- **Three forms** — Desktop (macOS Apple Silicon/Intel, Windows x64/ARM64, Linux AppImage), Mobile (iOS now, Android soon), and Self-Hosted Web (Docker, browser access).14- **Core data entry** — manual activities or **CSV import**; the core app has no built-in broker integration.15- **Wealthfolio Connect** (optional paid) — automatic read-only broker sync (30+ institutions) and end-to-end-encrypted multi-device sync.16- **Tracks** — investments across accounts/asset types, cost basis & lots, performance vs. benchmarks, income (dividends/interest), spending & budgets, goals, retirement/FIRE, and contribution limits.17- **Extensible** — a Tauri (Rust + React) app with a developer **addon system** (live-reload dev mode, CLI scaffolding, typed addon API) and a local **AI assistant** (via Ollama).1819## Quick Start2021```text221. Download for your OS from https://wealthfolio.app/download (or self-host with Docker).232. Complete the onboarding wizard.243. Add accounts (bank / investment / crypto).254. Add activities manually or via CSV import.265. Explore dashboards: portfolio value, gain/loss, income, goals.27```2829Self-host in one command:3031```bash32docker run -d --name wealthfolio -p 8088:8080 \33 -v wealthfolio-data:/data \34 -e WF_CORS_ALLOW_ORIGINS="http://localhost:8088" \35 afadil/wealthfolio:latest36```3738## Core Concepts3940- **Tracking modes** — *Holdings* (simple: track current positions) vs *Transactions* (full activity history for precise cost basis & realized gains). See [tracking-modes](docs/concepts/tracking-modes.md).41- **Cost basis & lots** — FIFO lot accounting drives realized/unrealized gains. See [cost-basis-and-lots](docs/concepts/cost-basis-and-lots.md).42- **Performance metrics** — TWR vs MWR/money-weighted return, benchmarking. See [performance-metrics](docs/concepts/performance-metrics.md).43- **Market data & FX** — quotes, multi-currency, and custom providers. See [market-data-and-fx](docs/concepts/market-data-and-fx.md).4445## Documentation4647### Getting started48- **[Introduction](docs/introduction.md)** — what it is, the three platforms, privacy model49- **[Quick Start](docs/quick-start.md)** — install, onboarding, first accounts & activities5051### Concepts52- **[Overview](docs/concepts.md)** · **[Tracking Modes](docs/concepts/tracking-modes.md)** · **[Activity Types](docs/concepts/activity-types.md)**53- **[Cost Basis & Lots](docs/concepts/cost-basis-and-lots.md)** · **[Performance Metrics](docs/concepts/performance-metrics.md)** · **[Market Data & FX](docs/concepts/market-data-and-fx.md)**5455### User guide56- **[Overview](docs/guide.md)** · **[Dashboards](docs/guide/dashboards.md)** · **[Activities](docs/guide/activities.md)** · **[CSV Import](docs/guide/csv-import.md)** · **[Accounts & Portfolios](docs/guide/accounts.md)**57- **[Spending & Budgets](docs/guide/spending-budgets.md)** · **[Allocation Targets & Rebalancing](docs/guide/allocation-targets.md)** · **[Goals](docs/guide/goals.md)** · **[Retirement & FIRE](docs/guide/retirement-planning.md)** · **[Contribution Limits](docs/guide/contribution-limits.md)**58- **[Market Data Providers](docs/guide/custom-providers.md)** · **[Health Center](docs/guide/health-center.md)** · **[Settings](docs/guide/settings.md)** · **[Export & Backup](docs/guide/data-export.md)**5960### Sync & AI61- **[Connect & Broker Sync](docs/guide/connect-broker-sync.md)** · **[AI Assistant (Ollama)](docs/guide/ai-assistant.md)** · **[Mobile](docs/guide/mobile.md)**6263### Self-hosting64- **[Overview](docs/guide/self-hosting.md)** · **[Configuration](docs/guide/self-hosting/configuration.md)** · **[Docker](docs/guide/self-hosting/docker.md)** · **[Docker Compose](docs/guide/self-hosting/docker-compose.md)**65- **[Unraid](docs/guide/self-hosting/unraid.md)** · **[Proxmox](docs/guide/self-hosting/proxmox.md)** · **[Coolify](docs/guide/self-hosting/coolify.md)** · **[Reverse Proxy](docs/guide/self-hosting/reverse-proxy.md)**6667### Addon development68- **[Getting Started](docs/addons/getting-started.md)** — Node 20+, pnpm, dev mode, CLI scaffolding69- **[API Reference](docs/addons/api-reference.md)** — the typed addon API surface7071### Reference72- **[FAQ](docs/faq.md)** · **[Glossary](docs/glossary.md)**7374## Common Workflows7576- **Import a broker history**: export CSV from your broker → map columns in the [CSV Import](docs/guide/csv-import.md) wizard → review activity types → verify holdings.77- **Self-host for the family**: deploy via [Docker Compose](docs/guide/self-hosting/docker-compose.md), set `WF_CORS_ALLOW_ORIGINS`, front it with a [reverse proxy](docs/guide/self-hosting/reverse-proxy.md).78- **Build an addon**: clone the repo, run addon dev mode (live reload), scaffold with the CLI, code against the [addon API](docs/addons/api-reference.md).7980## Upstream Sources8182- **Documentation**: https://wealthfolio.app/docs83- **Repository**: https://github.com/wealthfolio/wealthfolio84- **Docker image**: `afadil/wealthfolio` (https://hub.docker.com/r/afadil/wealthfolio)8586## Sync & Update8788Docs under `docs/` mirror the upstream `wealthfolio.app/docs` URL structure. Run `discover-pages.sh` to detect new upstream pages; run the sync script (or `sync`) to refresh cached docs. On `diff`, compare current docs/ vs upstream.