feat: add nginx reverse proxy

This commit is contained in:
bisco
2026-06-24 08:59:35 +02:00
parent 8155d94fee
commit b36cd2a754
14 changed files with 228 additions and 37 deletions
+10 -5
View File
@@ -1,11 +1,15 @@
# Architecture
The system has three runtime components on the Docker Compose default network:
The system has four runtime components on the Docker Compose default network:
1. Astro renders the public single page and requests one aggregate JSON document.
2. Wagtail/Django manages editorial content, serves media in development, and exposes
1. NGINX accepts requests for `azionelab.org` and routes them by path.
2. Astro renders the public single page and requests one aggregate JSON document.
3. Wagtail/Django manages editorial content, serves media in development, and exposes
the read-only `/api/site/home/` endpoint.
3. PostgreSQL persists Wagtail content and metadata.
4. PostgreSQL persists Wagtail content and metadata.
NGINX sends `/admin`, `/api`, `/documents`, `/health`, `/media`, and `/static` paths to
Wagtail. All remaining paths go to Astro. Unknown virtual hosts receive a 404 response.
The aggregate response contains `settings`, `homepage`, `feature_cards`, `teacher`,
`lesson_info`, `shows`, and `gallery_items`. Image values contain browser-facing URLs
@@ -18,4 +22,5 @@ has no database access and no public write API. Uploaded media is stored in a de
Compose volume.
The deployment topology and content model are recorded in
[ADR-0001](adr/0001-headless-wagtail-astro.md).
[ADR-0001](adr/0001-headless-wagtail-astro.md) and
[ADR-0002](adr/0002-nginx-reverse-proxy.md).