mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-26 07:28:45 -07:00
Route microservices through Traefik behind Cloudflare Tunnel (#32)
Add scoped Traefik host labels to the gateway and put cloudflared on the Traefik network so the tunnel hands off to Traefik instead of forwarding every host straight to the app. Keep backend services internal-only.
This commit is contained in:
@@ -17,8 +17,9 @@ x-dorknet-service-env: &dorknet-service-env
|
|||||||
|
|
||||||
x-dorknet-app-networks: &dorknet-app-networks
|
x-dorknet-app-networks: &dorknet-app-networks
|
||||||
networks:
|
networks:
|
||||||
|
# Internal only — backends are reached by the gateway over `default`,
|
||||||
|
# never directly by Traefik, so keep them off dokploy-network.
|
||||||
- default
|
- default
|
||||||
- dokploy-network
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
gateway:
|
gateway:
|
||||||
@@ -42,6 +43,18 @@ services:
|
|||||||
DorkNet__Services__Monolith: http://monolith:8080
|
DorkNet__Services__Monolith: http://monolith:8080
|
||||||
expose:
|
expose:
|
||||||
- "8080"
|
- "8080"
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
- dokploy-network
|
||||||
|
labels:
|
||||||
|
# Cloudflare terminates TLS at the edge; the tunnel -> Traefik leg is
|
||||||
|
# internal HTTP, so route on the `web` entrypoint with no certresolver.
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.docker.network=dokploy-network
|
||||||
|
# Scope routing to YOUR domain (apex + subdomains) instead of catch-all:
|
||||||
|
- traefik.http.routers.dorknet-gw.rule=Host(`${DORKNET_DOMAIN}`) || HostRegexp(`^.+\.${DORKNET_DOMAIN}$`)
|
||||||
|
- traefik.http.routers.dorknet-gw.entrypoints=web
|
||||||
|
- traefik.http.services.dorknet-gw.loadbalancer.server.port=8080
|
||||||
depends_on:
|
depends_on:
|
||||||
- identity
|
- identity
|
||||||
- rooms
|
- rooms
|
||||||
@@ -57,6 +70,10 @@ services:
|
|||||||
cloudflared:
|
cloudflared:
|
||||||
image: cloudflare/cloudflared:latest
|
image: cloudflare/cloudflared:latest
|
||||||
command: tunnel --no-autoupdate run --token ${CLOUDFLARE_TUNNEL_TOKEN:?Set CLOUDFLARE_TUNNEL_TOKEN in Dokploy}
|
command: tunnel --no-autoupdate run --token ${CLOUDFLARE_TUNNEL_TOKEN:?Set CLOUDFLARE_TUNNEL_TOKEN in Dokploy}
|
||||||
|
# Must share dokploy-network so the tunnel can reach the Traefik
|
||||||
|
# container (dokploy-traefik) by name and hand traffic off to it.
|
||||||
|
networks:
|
||||||
|
- dokploy-network
|
||||||
depends_on:
|
depends_on:
|
||||||
- gateway
|
- gateway
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
Reference in New Issue
Block a user