88 lines
1.9 KiB
Markdown
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.
|