bollwerk/docker-compose.yml
Jens Reinemann 0fee89ec32 feat: Admin-UI Tab-Navigation + Backups-Endpoint (#90)
- Tab-Leiste mit drei Tabs: User, Inventare, Backups
- Aktiver Tab visuell hervorgehoben, nur aktiver Inhalt sichtbar
- Default-Tab: User
- Neuer GET /api/admin/backups Endpoint (JWT-geschützt)
  → listet .sql.gz-Dateien aus /backups (name, sizeBytes, createdAt)
  → absteigend nach Datum sortiert
- Backups-Tab: Tabelle mit Dateiname, Größe (human-readable), Erstellt
  → Refresh-Button, Hinweis bei leerem Verzeichnis
- docker-compose.yml: backup_data:/backups:ro Mount im Server-Container
- 4 neue Tests (Admin-Backups: 200, 403, 401, Dateiliste sortiert)
2026-05-17 12:00:54 +02:00

47 lines
1.1 KiB
YAML

services:
db:
image: postgres:17-alpine
container_name: krisenvorrat-db
restart: unless-stopped
environment:
POSTGRES_DB: krisenvorrat
POSTGRES_USER: krisenvorrat
POSTGRES_PASSWORD: krisenvorrat
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
krisenvorrat:
build: .
container_name: krisenvorrat-server
restart: unless-stopped
ports:
- "8080:8080"
environment:
- KRISENVORRAT_JWT_SECRET=sRKnyOBAgwkoDYptqixc9I26SlUWFhGXL5jaTM1vPbe78Q0r
- KRISENVORRAT_DB_URL=jdbc:postgresql://db:5432/krisenvorrat
- KRISENVORRAT_DB_USER=krisenvorrat
- KRISENVORRAT_DB_PASSWORD=krisenvorrat
volumes:
- backup_data:/backups:ro
depends_on:
- db
backup:
build: ./backup
container_name: krisenvorrat-backup
restart: unless-stopped
environment:
- POSTGRES_HOST=db
- POSTGRES_DB=krisenvorrat
- POSTGRES_USER=krisenvorrat
- POSTGRES_PASSWORD=krisenvorrat
volumes:
- backup_data:/backups
depends_on:
- db
volumes:
pgdata:
backup_data: