Files
stiftung-management-system/compose.dev.yml
Jan Remmer Siebels 6c8ddbb4f0
Some checks failed
Code Quality / quality (push) Has been cancelled
CI/CD Pipeline / test (push) Has been cancelled
CI/CD Pipeline / deploy (push) Has been cancelled
Getrennte Fristen für Studiennachweis und Zahlung implementieren
- Neue Felder: studiennachweis_faelligkeitsdatum (semesterbasiert) und zahlung_faelligkeitsdatum (vierteljährlich im Voraus)
- Studiennachweis-Fristen: Q1/Q2 → 15. März, Q3/Q4 → 15. September
- Zahlungsfälligkeiten: Q1 → 15. Dez (Vorjahr), Q2 → 15. Mär, Q3 → 15. Jun, Q4 → 15. Sep
- Auto-Freigabe: Q1 freigeben → Q2 Studiennachweis auto-freigegeben, Q3 → Q4
- Unterstützungserstellung: Verhindert Duplikate durch präzise Suche nach zahlung_faelligkeitsdatum
- Quartalserstellung: Modal-Formular funktioniert korrekt
- UI: Beide Fristen in Tabelle angezeigt, separate Überfälligkeits-Indikatoren
- Migration: Neue Felder hinzugefügt und bestehende Datensätze befüllt
2025-12-30 20:20:33 +01:00

114 lines
3.4 KiB
YAML

services:
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: stiftung_dev
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres_dev
volumes:
- dbdata_dev:/var/lib/postgresql/data
ports:
- "5433:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d stiftung_dev"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
ports:
- "6380:6379"
web:
build: ./app
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
environment:
- POSTGRES_DB=stiftung_dev
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres_dev
- DB_HOST=db
- DB_PORT=5432
- DJANGO_SECRET_KEY=dev-secret-key-not-for-production
- DJANGO_DEBUG=1
- DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1
- LANGUAGE_CODE=de
- TIME_ZONE=Europe/Berlin
- REDIS_URL=redis://redis:6379/0
- PAPERLESS_API_URL=http://paperless:8000
- PAPERLESS_API_TOKEN=d477152aca264ea00620910ac09a06f0a4faaecc
- PAPERLESS_REQUIRED_TAG=Stiftung_Destinatäre
- PAPERLESS_LAND_TAG=Stiftung_Land_und_Pächter
- PAPERLESS_ADMIN_TAG=Stiftung_Administration
- PAPERLESS_DESTINATAERE_TAG_ID=1
- PAPERLESS_LAND_TAG_ID=3
- PAPERLESS_ADMIN_TAG_ID=2
- GRAMPS_URL=http://grampsweb:5000
- GRAMPS_USERNAME=admin@localhost
- GRAMPS_PASSWORD=gramps_dev_password
ports:
- "18081:8000"
volumes:
- ./app:/app
command: ["python", "manage.py", "runserver", "0.0.0.0:8000"]
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
ports:
- "8082:8000"
environment:
- PAPERLESS_REDIS=redis://redis:6379
- PAPERLESS_DBHOST=db
- PAPERLESS_DBPORT=5432
- PAPERLESS_DBNAME=stiftung_dev
- PAPERLESS_DBUSER=postgres
- PAPERLESS_DBPASS=postgres_dev
- PAPERLESS_SECRET_KEY=dev-paperless-secret-key
- PAPERLESS_URL=http://localhost:8082
- PAPERLESS_ALLOWED_HOSTS=localhost,127.0.0.1
- PAPERLESS_CORS_ALLOWED_HOSTS=http://localhost:8082,http://localhost:8081
- PAPERLESS_ADMIN_USER=admin
- PAPERLESS_ADMIN_PASSWORD=admin123
- PAPERLESS_ADMIN_MAIL=admin@localhost
volumes:
- paperless_data_dev:/usr/src/paperless/data
- paperless_media_dev:/usr/src/paperless/media
- paperless_export_dev:/usr/src/paperless/export
- paperless_consume_dev:/usr/src/paperless/consume
depends_on:
- db
- redis
grampsweb:
image: ghcr.io/gramps-project/grampsweb:latest
ports:
- "18090:5000"
environment:
- GRAMPSWEB_SECRET_KEY=dev-grampsweb-secret-key-not-for-production
- GRAMPSWEB_ADMIN_EMAIL=admin@localhost
- GRAMPSWEB_ADMIN_PASSWORD=gramps_dev_password
- GRAMPSWEB_TREE=Stiftung
- GRAMPSWEB_BASE_URL=/ahnenforschung
- GRAMPSWEB_STATIC_PATH=/ahnenforschung/static
- GRAMPSWEB_STATIC_URL=/ahnenforschung/static/
- GRAMPSWEB_CELERY_CONFIG__broker_url=redis://redis:6379/0
- GRAMPSWEB_CELERY_CONFIG__result_backend=redis://redis:6379/0
- GRAMPSWEB_RATELIMIT_STORAGE_URI=redis://redis:6379/1
- GRAMPSWEB_NEW_DB_BACKEND=sqlite
volumes:
- gramps_data_dev:/app/data
depends_on:
- redis
volumes:
dbdata_dev:
paperless_data_dev:
paperless_media_dev:
paperless_export_dev:
paperless_consume_dev:
gramps_data_dev: