通过单一软件管理个人财务和投资。
AI 翻译
Manage your personal finances and investments through a single app
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Your finances, in one place. On your own server, with a private login for everyone in your home.
Accounts, budgets, debts, goals, bank sync, investments and an AI advisor in one self-hosted app.
One Docker container. One SQLite file. No subscription, no third party reading your statements.
Most finance apps want your bank login, a monthly fee and a copy of your data. Home Finance is built the other way round: it's a normal progressive web app (PWA) you open from your phone or laptop, but the data lives in a plain SQLite file on a machine you control.查看完整 README ↗Your finances, in one place. On your own server, with a private login for everyone in your home.
Accounts, budgets, debts, goals, bank sync, investments and an AI advisor in one self-hosted app. One Docker container. One SQLite file. No subscription, no third party reading your statements.
Website · Get started · Watch the demo · Documentation · Security & privacy
Most finance apps want your bank login, a monthly fee and a copy of your data. Home Finance is built the other way round: it's a normal progressive web app (PWA) you open from your phone or laptop, but the data lives in a plain SQLite file on a machine you control.
Screenshots show demo data.
| Accounts & transactions | Checking, savings, credit, cash and investment accounts. Income, expenses and transfers, with split, bulk edit and transfer pairing. Shared expenses: link the repayments friends send you to the bill you paid, and totals count only your share. |
| Categories & rules | Colour-coded categories and "if the description contains X, use category Y" rules that categorize every future import and synced transaction automatically. |
| Reports | Overview, cash flow, spending, budgets and debt tabs with a shared filter bar, saved views, scheduled report emails and CSV export. |
| Dashboard | Cash flow, net worth, spending by category, bills due and goals on one screen. |
| Documents | Attach receipts and statements to your records, organized in folders with in-app preview. |
| Budgets | Limits per category and period, with progress bars and threshold alerts. |
| Recurring bills | Subscriptions and bills with their schedule, what's due next, and reminders. |
| Goals | Savings targets with the monthly amount needed and an on-track check against your real saving. |
| Debts | Loans and cards with payments and payoff dates, plus snowball vs avalanche strategy comparison. |
| Calculators | Compound growth, retirement, loan amortization, refinance, emergency fund and net-worth projections. Plain math, no external service. |
| Bank sync | Link European banks through Enable Banking (PSD2, read-only). Nightly sync, de-duplication, automatic categorization and consent-expiry reminders. → Setup guide |
| Investments | Sync Freedom24 and Binance (more are coming!). Portfolio analytics, ticker comparison, backtesting, technical analysis and company research. → Guide |
| Notifications | Email and desktop push for bills, low balances and budget thresholds, with quiet hours and de-duplication. → Guide |
| Trackers | Follow spending on a project like a trip or a renovation, across accounts and categories. |
An optional AI advisor answers questions such as "how much did I spend on groceries last month?" or "should I pay off the car loan or invest the money?" It reads your real transactions, budgets, debts, goals and portfolio through tools before it answers, and:
/review, /portfolio, /research, /opportunities, /email, /web.It's off until you add an API key. → AI advisor guide
Home Finance is a personal tool. Nothing in it, including the AI advisor, is financial, tax or legal advice.
You need Docker with Compose, and openssl. The prebuilt image supports amd64 and arm64, so it runs on a PC, a server or a Raspberry Pi.
git clone https://github.com/Lefyd24/HomeFinance.git
cd HomeFinance
cp .env.example .env
Generate two secrets (openssl rand -hex 32, twice) and put them in .env:
SECRET_KEY=<first value>
NOTIFICATION_ENCRYPTION_KEY=<second value>
# Shown on the public Privacy and Terms pages
LEGAL_OPERATOR_NAME=Your Name
[email protected]
LEGAL_JURISDICTION=Your Country
Start it and create your admin account:
docker compose up -d # pulls the prebuilt image from ghcr.io
docker compose run --rm -v "$PWD/scripts:/app/scripts:ro" \
app python /app/scripts/create_admin.py [email protected] 'a-strong-password' "Your Name"
Open http://localhost:8223 and sign in. Then invite other people from Admin → Invite Codes. Each person you invite gets their own separate, private data.
That's it. Your data is in ./data. The full walkthrough is in Getting started.
Updating: read the release notes, back up, then docker compose pull && docker compose up -d. Pin a version with PF_IMAGE_TAG=1.0.0 in .env. Details in Operations. Prefer building from source? Use docker compose up --build -d.
The app listens on 127.0.0.1:8223 by default and has no TLS of its own, so you choose how to reach it:
*.ts.net name, with no open router ports. This is the setup the project is designed around.| 🚀 Getting started | Install, first admin, first invite |
| 📖 User guide | Every feature explained |
| ⚙️ Configuration reference | Every environment variable and startup check |
| 🌐 Deployment | Tailscale, reverse proxies, systemd, production checklist |
| 🛠 Operations | Updates, backups and restore, logs, key rotation, troubleshooting |
| 🗄 Database migrations | How Alembic runs and how to recover |
| 🏦 Bank connection | Step-by-step Enable Banking setup |
| 🤖 AI advisor | OpenRouter, models, costs, tools, skills |
| 📈 Investments | Brokers, analytics, backtesting, research |
| 🔔 Notifications |
Interactive API docs are served at /docs on your running instance.
Everything lives in plain folders next to docker-compose.yml:
| Folder | Contents |
|---|---|
./data | SQLite database and uploaded documents |
./logs | Application logs |
./secrets | Optional bank-sync private key |
Backing up is copying those folders plus your .env. See Operations → Backups.
The only things that leave your server are the integrations you switch on yourself: the AI advisor (to OpenRouter and the model provider you pick), bank sync (to Enable Banking and your bank), broker sync, market data (Yahoo Finance) and your own SMTP server. The full list is here.
| Layer | Stack |
|---|---|
| Frontend | React 19 · TypeScript · Vite · Tailwind CSS · Radix/shadcn · TanStack Query · ECharts · i18next |
| Backend | FastAPI · SQLAlchemy · SQLite · Alembic · APScheduler |
| Auth | JWT access and refresh tokens · invite-only registration · email verification · rate limiting |
| AI & data | OpenRouter · yfinance · scikit-learn · statsmodels |
| Packaging | One multi-stage Docker image · Docker Compose |
Issues and pull requests are welcome. Start with Development for the architecture, local setup and test commands. CI runs the backend and frontend tests and a Docker build on every pull request. Please run DEBUG=true uv run pytest backend/tests and npm run test && npm run build in frontend/app first.
Found a security problem? Please don't open a public issue. See Security & privacy.
Released under the ISC License.
| SMTP email and Web Push |
| 🔐 Security & privacy | The security model and what leaves your server |
| 👩💻 Development | Architecture, local setup, tests, contributing |
| 🏷 Releasing · Changelog | How versions are published, and what changed in each |