From 09c422254aa4cdeb967b47d19d54789f1cb6d653 Mon Sep 17 00:00:00 2001 From: Jos Vooges | STH Date: Tue, 25 Aug 2026 00:27:55 +0200 Subject: [PATCH] Expose Master ports for Nginx Proxy Manager in front of Dokploy. Co-authored-by: Cursor --- deploy/docker/docker-compose.dokploy.yml | 9 +++-- docs/dokploy.md | 49 +++++++++++++++++++----- 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/deploy/docker/docker-compose.dokploy.yml b/deploy/docker/docker-compose.dokploy.yml index 0493fcf..35c400c 100644 --- a/deploy/docker/docker-compose.dokploy.yml +++ b/deploy/docker/docker-compose.dokploy.yml @@ -54,8 +54,9 @@ services: condition: service_healthy redis: condition: service_healthy - expose: - - "3000" + # Host ports for Nginx Proxy Manager (no Dokploy domain needed) + ports: + - "3000:3000" healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:3000/health"] interval: 30s @@ -74,8 +75,8 @@ services: NEXT_PUBLIC_API_URL: http://master-api:3000 depends_on: - master-api - expose: - - "3000" + ports: + - "3001:3000" networks: - media-cluster diff --git a/docs/dokploy.md b/docs/dokploy.md index cacb003..75c0d6c 100644 --- a/docs/dokploy.md +++ b/docs/dokploy.md @@ -69,19 +69,50 @@ HIDE_UNAVAILABLE_TITLES=false Belangrijk: `DATABASE_URL` wachtwoord moet **exact** gelijk zijn aan `POSTGRES_PASSWORD`. -### 3. Domeinen (Dokploy Traefik) +### 3. Domeinen — bij jou via Nginx Proxy Manager -Koppel domeinen aan de juiste service/poort: +**Zet géén domein in Dokploy** als NPM al HTTPS doet. -| Domein | Service | Poort | Opmerking | -|--------|---------|-------|-----------| -| `master.jouwdomein.nl` | `master-api` | `3000` | **WebSockets aan** | -| `admin.jouwdomein.nl` | `admin-ui` | `3000` | Admin UI | +Dokploy publiceert: -WebSockets zijn verplicht: nodes verbinden via -`wss://master.jouwdomein.nl/api/v1/node/connect`. +| Service | Host-poort | +|---------|------------| +| `master-api` | `3000` | +| `admin-ui` | `3001` | -DNS A/AAAA records naar je Dokploy-server. +In **Nginx Proxy Manager** maak je 2 Proxy Hosts: + +#### Master API +| Veld | Waarde | +|------|--------| +| Domain | `master.jouwdomein.nl` | +| Scheme | `http` | +| Forward Hostname/IP | LAN-IP van de **Dokploy-server** | +| Forward Port | `3000` | +| Websockets Support | **Aan** | +| SSL | Let's Encrypt + Force SSL | + +Advanced (aanbevolen): + +```nginx +proxy_http_version 1.1; +proxy_set_header Upgrade $http_upgrade; +proxy_set_header Connection "upgrade"; +proxy_read_timeout 86400s; +``` + +#### Admin UI +| Veld | Waarde | +|------|--------| +| Domain | `admin.jouwdomein.nl` | +| Scheme | `http` | +| Forward Hostname/IP | LAN-IP van de **Dokploy-server** | +| Forward Port | `3001` | +| SSL | Let's Encrypt + Force SSL | + +DNS A/AAAA van beide domeinen → publiek IP waar NPM op luistert (poort 443). + +`PUBLIC_URL` in de env moet `https://master.jouwdomein.nl` zijn (het NPM-domein). ### 4. Deploy