.\dev.ps1 build -Target backend # alleen backend bouwen
.\dev.ps1 build -Target frontend # alleen frontend bouwen
.\dev.ps1 up -Target backend # alleen backend herbouwen + herstarten
.\dev.ps1 up -Target frontend # alleen frontend herbouwen + herstarten
.\dev.ps1 push # dev-images naar registry pushen
.\dev.ps1 push -Target backend # alleen backend pushen
.\dev.ps1 push -Target frontend # alleen frontend pushen
```
> Op macOS/Linux: gebruik `./dev.sh` met dezelfde argumenten.
> ⚠️ `.\dev.ps1 up` (beide services) en `.\dev.ps1 down` voeren intern `docker compose down -v` uit — dit wist de development-database. Gebruik voor een herstart zonder dataverlies:
```bash
docker compose -f docker-compose.dev.yml down
docker compose -f docker-compose.dev.yml up -d --build
```
---
## Release workflow
```powershell
# 1. Versienummer in package.json van "x.x.x-dev" naar "x.x.x"
# 2.
.\release.ps1 # bouw, push naar registry, maak Git-tag aan
.\release.ps1 -DryRun # droogloop — toont alle stappen zonder uit te voeren
| Development | `postgres_dev_data` | `/var/lib/postgresql` |
> PostgreSQL 18 gebruikt `PGDATA=/var/lib/postgresql/18/docker`. Het volume is gemount op `/var/lib/postgresql` zodat data bewaard blijft na een container restart.
De eerste geregistreerde gebruiker krijgt automatisch de **Admin**-rol. Verdere accounts kunnen via de app aangemaakt worden (Gebruikersbeheer, Admin vereist) of via de API.
Rollen:
| Rol | Rechten |
|---|---|
| `Admin` | Alles, inclusief gebruikersbeheer |
| `Bewerker` | Data lezen en bewerken |
| `Viewer` | Alleen lezen |
---
## Productie checklist
- [ ]`POSTGRES_PASSWORD` instellen op een sterk wachtwoord
- [ ]`JWT_SECRET` aanpassen (genereer met `openssl rand -hex 64`)
- [ ]`CORS_ORIGIN` instellen op je domeinnaam
- [ ]`FRONTEND_PORT` aanpassen indien poort 3300 al in gebruik is
- [ ] TLS afhandelen via een externe reverse proxy (bijv. Nginx Proxy Manager, Caddy, Traefik)