# Certain Finance Selbstgehostete Finanzverwaltung für Privathaushalte. Budgets, mehrere Konten (EUR **und** CHF), ein konfigurierbares Dashboard und Import von Kontoauszügen – lauffähig in einem Proxmox-LXC, erreichbar über eine Web-UI hinter dem eigenen Nginx Proxy Manager. > Der interne Codename/Anzeigename steht zentral an einer Stelle > (`web/src/brand.js`, `backend/app/branding.py`); der Rest ist generisch. ## Stack - **Backend:** FastAPI · SQLAlchemy · **SQLite** · Alembic · argon2 · Server-Sitzungen (Cookie) - **Frontend:** React 18 · Vite · reines JSX · react-i18next (DE/EN) · Inline-SVG-Icons - **Betrieb:** ein systemd-Dienst (uvicorn) liefert API **und** gebautes Frontend auf **einem** Port aus ## Entwicklung (lokal) Backend (Terminal 1): ```bash cd backend python3 -m venv .venv && . .venv/bin/activate # Python 3.11+ pip install -r requirements.txt APP_DATA_DIR=./data uvicorn app.main:app --reload --port 8000 ``` Frontend (Terminal 2): ```bash cd web npm install npm run dev # http://localhost:5173 (leitet /api an :8000 weiter) ``` Beim ersten Start wird ein Admin angelegt (Standard `admin` / `changeme`, per `APP_ADMIN_USERNAME` / `APP_ADMIN_PASSWORD` änderbar). ## Installation im LXC (Proxmox, Debian/Ubuntu) ```bash git clone /opt/certain-finance cd /opt/certain-finance sudo ./deploy/install.sh ``` Danach im **Nginx Proxy Manager** einen Proxy-Host auf `http://:` anlegen (HTTPS via Let's Encrypt). Updates: `sudo ./deploy/update.sh`. Details: [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) · Fahrplan: [`docs/ROADMAP.md`](docs/ROADMAP.md)