Files
fixfin/README.md
T
2026-08-18 06:56:00 +02:00

88 lines
1.9 KiB
Markdown

# FixFin
Kleine responsive Webapp für **monatliche Fixplanung ohne Buchungsverlauf und ohne Kontostände**.
## Datenmodell
- Konten: nur Name / Zuordnung
- fixe Eingänge: Bezeichnung, Betrag pro Monat, Konto
- fixe Ausgänge: Bezeichnung, Betrag pro Monat, Konto
- fixe Transfers: Bezeichnung, Betrag pro Monat, Quellkonto, Zielkonto
- kein Datum
- keine einmaligen Buchungen
- keine Datenbank
- Speicherung ausschließlich in `finance.json`
### Berechnung
Je Konto:
`Eingänge - Ausgänge + Transfers rein - Transfers raus = monatlicher Kontosaldo`
Gesamt:
`alle Eingänge - alle Ausgänge = monatlicher Gesamtsaldo`
Interne Transfers verändern den Gesamtsaldo nicht.
## Lokal starten
```bash
chmod +x start-local.sh
./start-local.sh
```
Die App läuft standardmäßig auf `http://127.0.0.1:3000` und speichert lokal in `.local-data/finance.json`.
## Docker-Server
Persistente Daten:
`/srv/docker/fixfin/data/finance.json`
Compose / Anwendung:
`/opt/docker-infra/fixfin`
Installation:
```bash
sudo chmod +x install.sh
sudo ./install.sh
```
Danach: `http://DOCKER-SERVER-IP:3080`
## Build + Push in Gitea Container Registry
Vor dem ersten Push:
```bash
sudo docker login git.example.de
```
Dann:
```bash
sudo ./build-and-push-gitea.sh git.example.de owner/fixfin latest
```
Das Image wird als `git.example.de/owner/fixfin:latest` gepusht.
Standardplattform ist `linux/amd64`. Abweichend z. B.:
```bash
sudo PLATFORM=linux/arm64 ./build-and-push-gitea.sh git.example.de owner/fixfin latest
```
## Registry-Image deployen
```bash
cd /opt/docker-infra/fixfin
sudo FIXFIN_IMAGE=git.example.de/owner/fixfin:latest docker compose -f docker-compose.registry.yml up -d
```
## JSON-Migration
Alte FixFin-v1-Dateien mit `balance` in Konten werden automatisch auf v2 migriert. Die alten Kontostände werden entfernt; Eingänge, Ausgänge und Transfers bleiben erhalten. Vor dem Umschreiben wird `finance.json.bak` angelegt.