Geldstück API – selbst gehostete Synchronisation mit moderner Live-Statusseite.
1.7K
Die selbst gehostete REST-API für Geldstück. Sie speichert Benutzer, Kategorien, Buchungen und Monatsbudgets in PostgreSQL und synchronisiert die Web- und Android-App.
JWT_SECRETDATABASE_URLservices:
database:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: geldstueck
POSTGRES_USER: geldstueck
POSTGRES_PASSWORD: CHANGE_ME_DATABASE_PASSWORD
volumes:
- money-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U geldstueck -d geldstueck"]
interval: 5s
timeout: 5s
retries: 12
server:
image: techbygiusi/geldstueck-server:latest
restart: unless-stopped
environment:
DATABASE_URL: postgres://geldstueck:CHANGE_ME_DATABASE_PASSWORD@database:5432/geldstueck
JWT_SECRET: CHANGE_ME_TO_A_LONG_RANDOM_SECRET
CORS_ORIGIN: https://money.example.de
PORT: 3000
depends_on:
database:
condition: service_healthy
ports:
- "3000:3000"
volumes:
money-data:
Stack starten:
docker compose up -d
Status prüfen:
curl http://localhost:3000/health
Erwartete Antwort:
{"ok":true,"service":"geldstueck-server"}
| Variable | Erforderlich | Beschreibung |
|---|---|---|
DATABASE_URL | Ja | PostgreSQL-Verbindungsadresse |
JWT_SECRET | Ja | Signaturschlüssel mit mindestens 16 Zeichen; produktiv deutlich länger verwenden |
CORS_ORIGIN | Empfohlen | Erlaubte Web-Domain; mehrere Domains mit Komma trennen |
PORT | Nein | API-Port im Container, Standard 3000 |
| Pfad | Beschreibung |
|---|---|
GET /health | Serverstatus |
POST /auth/register | Konto erstellen |
POST /auth/login | Anmelden |
GET /categories | Kategorien abrufen |
GET /transactions | Monatsbuchungen abrufen |
GET /budgets | Monatsbudgets abrufen |
GET /summary | Monatsauswertung abrufen |
Die passende Oberfläche ist als techbygiusi/geldstueck-web verfügbar. Beim ersten Start dort die öffentlich erreichbare URL dieser API eintragen.
Beim direkten Aufruf der Server-URL erscheint eine responsive Statusseite mit Datenbankzustand, Laufzeit und Link zur Web-App. Das Linkziel wird mit PROJECT_URL konfiguriert.
docker compose pull
docker compose up -d
Vor Updates sollte das PostgreSQL-Volume beziehungsweise die Datenbank gesichert werden. Für reproduzierbare Installationen statt latest den Tag 0.1.2 verwenden.
CORS_ORIGIN produktiv nicht auf * setzen.linux/amd64.Content type
Image
Digest
sha256:afdee8f77…
Size
66 MB
Last updated
8 days ago
docker pull techbygiusi/geldstueck-server