Webapplicatie voor het archief van VIERNULVIER.
Voor een gedetailleerd overzicht van de architectuur en ontwerpbeslissingen,
zie docs/architecture.md en docs/adr/.
Gebruikershandleiding in PDF of in Markdown.
- Docker Desktop (of Docker Engine + Docker Compose)
Maak een .env bestand aan in de root van het project op basis van het .env.example bestand.
Start de volledige stack:
docker compose up -dBij een eerste opstart of na codewijzigingen, bouw de images opnieuw:
docker compose up --build -dDe applicatie is bereikbaar op http://localhost.
docker-compose.ymlis de standaard voor lokaal ontwikkelen via HTTP.docker-compose.ci.ymlis een aparte CI-stack, zodat tests geen lokale poortbindingen of volumes erven.docker-compose.prod.ymlis een override die de productie-Nginx-configuratie, TLS en Certbot toevoegt bovenop de basisstack.
Voor productie gebruik je de basisstack samen met de productie-override:
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --buildDe productie-setup gaat ervan uit dat de Let's Encrypt-certificaten al een eerste keer zijn uitgegeven; de Compose-configuratie vernieuwt ze daarna automatisch.
De applicatie bevat een sync worker die dagelijks nieuwe data ophaalt uit de VIERNULVIER API en deze opslaat in de database. De worker gebruikt dezelfde Docker-image als de backend en start niet automatisch op met docker compose up.
Om de worker handmatig te draaien (bijvoorbeeld voor testing):
docker compose --profile sync run --rm sync_workerVoor productie, stel een cron job in op de server om de worker dagelijks uit te voeren (bijvoorbeeld om 02:00):
0 2 * * * cd /path/to/your/project && docker compose -f docker-compose.yml -f docker-compose.prod.yml --profile sync --project-name viernulvier-prod run --rm sync_workerVervang /path/to/your/project door het absolute pad naar de projectdirectory op de server.
| Endpoint | Beschrijving |
|---|---|
http://localhost/ |
Frontend |
http://localhost/api/v1/health |
Backend health check |
http://localhost/api/docs |
Interactieve API-documentatie (Swagger UI) |
Stop en verwijder de containers:
docker compose downOm ook de database-volumes te verwijderen (let op: alle data gaat verloren):
docker compose down -v# Alle containers
docker compose logs -f
# Één specifieke container
docker compose logs -f backend