Directus Hosting op basis van Hetzer
Model Directus, met FastAPI-service en JSReporting en de impact naar sizing, storage en kosten.
- Directus-App
- Directus-Service (FastAPI)
- Directus-JSReporting
- PostgreSQL + Redis + reverse proxy
Model op Hetzner
Productie-node
Op de productie-VPS zou ik logisch scheiden in containers:
reverse-proxy(Caddy of Nginx, met Let’s Encrypt)directus-appdirectus-service-fastapidirectus-jsreportpostgresredis
Uitwijk-node
Op de uitwijk-VPS:
- dezelfde stack-definitie
- normaal gesproken niet actief als primaire omgeving
- periodiek restore van PostgreSQL-backup
- synchronisatie van uploads / assets
- FastAPI- en JSReport-images/config identiek aan productie
Omdat jouw FastAPI-stack geen eigen persistente data bevat, is die vooral een deployment-onderdeel: image + configuratie + secrets. Dat maakt failover eenvoudiger.
Waarom dit verschil maakt voor sizing
De FastAPI-stack is meestal niet heel zwaar, maar hij vraagt wel extra:
- RAM
- interne API-communicatie
- deployment-coördinatie
- secrets/config-beheer
- monitoring
Dus waar ik eerder nog wat compacter rekende, zou ik nu voor productie niet meer denken in “net genoeg”, maar in comfortabel klein-zakelijk.
Hetzner-opzet
Productie
- 4 vCPU / 8 GB RAM
- 80 GB OS disk
- 250 GB attached volume
Waarom die scheiding?
Omdat Hetzner volumes juist bedoeld zijn voor data-intensieve workloads zoals databases en log/storage, en die volumes redundant zijn opgeslagen. Tegelijk meldt Hetzner expliciet dat server snapshots/backups attached volumes niet meenemen, dus je moet je data-backups voor Postgres en uploads apart regelen.
Uitwijk
- 2 vCPU / 4 GB RAM
- 40–80 GB OS disk
- 250 GB attached volume
Dat is genoeg als deze node alleen uitwijk is en geen development/test doet.
Kosten, nu gecorrigeerd mét FastAPI-stack
Ik houd het bewust bij een praktische bandbreedte, omdat exacte servertypen afhangen van de gekozen cloud line.
1. Productie-VPS
Voor een 4 vCPU / 8 GB server zit je bij Hetzner grofweg in de orde van circa €15–€30 per maand, afhankelijk van het type. Hetzner positioneert zijn cloud nadrukkelijk als low-cost Europese cloud, met datacenters in Duitsland en Finland en GDPR-focus.
2. Productie-volume 250 GB
Hetzner heeft de volumeprijs op €0,0572 per GB per maand gezet per februari 2026.
Dus 250 GB komt uit op ongeveer:
- 250 × €0,0572 = €14,30 per maand
3. Uitwijk-VPS
Voor een kleinere uitwijkserver: grofweg €5–€15 per maand.
4. Uitwijk-volume 250 GB
Nog eens ongeveer:
- €14,30 per maand
5. Server-backups
Hetzner rekent voor server-backups een maandprijs van 20% van de serverprijs. Let op: dit geldt voor de serverdisk, niet voor attached volumes.
6. PostgreSQL-backups en uploads-backups
Omdat attached volumes niet in server-backups zitten, zou ik aanvullend rekenen op:
- Storage Box of object storage voor dumps / exports / asset backups
- praktisch: €5–€10 per maand als startpunt
Realistische totaalinschatting
Met jouw volledige stack, inclusief FastAPI en 250 GB data-opslag op beide nodes, kom ik nu eerder uit op:
- Productie-server: €15–€30
- Productie-volume 250 GB: €14,30
- Uitwijk-server: €5–€15
- Uitwijk-volume 250 GB: €14,30
- Backup-opslag: €5–€10
- Server-backup add-on: ongeveer 20% van serverprijzen
Dus totaal grofweg:
- ondergrens: ongeveer €57–€65 per maand
- realistischer: ongeveer €65–€85 per maand
Dat is een nettere raming dan de eerdere, omdat nu de FastAPI-stack én de 250 GB volumes expliciet zijn meegenomen.
HTTPS en certificaten
Voor HTTPS zou ik het simpel houden:
- domein bij een registrar
A/AAAArecords naar productie- reverse proxy met Caddy
- TLS via Let’s Encrypt
De certificaten zelf zijn dan gratis; je betaalt alleen je domeinregistratie.
PostgreSQL-backup: hoe ik dit zou doen
Omdat Hetzner-volume-backups niet automatisch onder server-backups vallen, zou ik dit apart inrichten:
Aanpak
- 4x per dag
pg_dump -Fc - upload naar backupopslag
- optioneel ook naar uitwijknode
- retention, bijvoorbeeld:
Op uitwijknode
- nieuwste dump automatisch restoren naar standby-stack
- healthcheck draaien
- alleen promoten bij echte failover
Dat past goed bij jouw uitgangspunt: tweede locatie strikt als uitwijkmachine.
Mijn aangepaste advies
Met FastAPI erbij vind ik de Hetzner-optie nog steeds sterk, maar wel met deze nuance:
- niet te klein dimensioneren
- data en OS scheiden
- Postgres en uploads apart backuppen
- FastAPI als first-class stack behandelen
- geen Kubernetes nodig
Voor jouw setup zou ik dus niet meer spreken over “3 stacks”, maar over:
4 logische lagen
- Directus-App
- Directus-Service (FastAPI)
- Directus-JSReporting
- Data & platformlaag (Postgres, Redis, reverse proxy, backups)
Wil je dat ik hier nu een aangescherpt architectuurplaatje van maak met die vier lagen, zodat de FastAPI-stack er ook expliciet in staat?
Nagedacht gedurende 17s
Bijvoorbeeld:
CX41 / CPX31 + grotere disk
- 4 vCPU / 8GB RAM
- disk uitbreiden naar ±240–300GB
👉 Kosten:
- base VPS: €20 – €30
- extra storage: ± €0.04 / GB
👉 250GB totaal:
- extra 170GB ≈ €7
👉 Totaal: ~€27 – €37 / maand
🟢 Optie B — VPS + aparte volume (aanrader)
Je neemt:
- kleinere OS disk (bijv. 80GB)
- attached volume van 200–300GB
Waarom dit beter is:
- data en OS gescheiden
- makkelijker migreren
- snapshots per volume
- veiliger bij rebuilds
👉 Kosten:
- VPS: €15 – €25
- volume 200GB: ± €8
👉 Totaal: ~€25 – €35 / maand
🧠 Mijn advies (belangrijk)
👉 Kies Optie B (separate volume)
Waarom:
- je PostgreSQL + uploads groeien altijd
- je wilt niet je hele VPS moeten migreren
- restore/failover wordt eenvoudiger
- cleaner architectuur (past bij jouw DR-denken)
📦 Hoe je storage logisch indeelt
Op je productie node:
🔹 OS disk (bijv. 80GB)
- Docker images
- containers
- logs
- OS
🔹 Data volume (±200–300GB)
Mount bijvoorbeeld op:
/data
En gebruik:
/data/postgres/data/uploads/data/jsreport/data/backups
🗄️ PostgreSQL + storage sizing (realistisch)
Voor jouw use case (±10 users):
| Component | Groei |
|---|---|
| PostgreSQL | laag–medium |
| Directus uploads | hoogste factor |
| JSReporting output | medium |
| Backups | medium |
👉 Vaak is uploads > database
Dus 250GB is niet overdreven — eerder verstandig.
🔁 Backup impact op storage
Let op:
Als je lokaal ook backups bewaart:
- 1 dump = bijv. 1–5GB
- 4 per dag = 4–20GB/dag
- retention 7 dagen = 30–140GB
👉 Daarom:
💡 Best practice
- lokale korte retention (1–2 dagen)
- rest naar Storage Box
🧩 Concrete aanbevolen setup
Productie VPS
- 4 vCPU / 8GB RAM
- 80GB OS disk
- 250GB volume
👉 ± €30 – €40 / maand
Uitwijk VPS
- 2 vCPU / 4GB RAM
- 40–80GB OS disk
- 200GB volume
👉 ± €15 – €25 / maand
Storage Box
👉 ± €5
👉 Totaal
👉 ~€50 – €70 / maand
⚖️ Is dit nog steeds interessant vs NUC?
Ja — want je krijgt:
- geen hardware risico
- betere uptime
- snellere netwerken
- makkelijker schalen
.jpg)