fix track
This commit is contained in:
@@ -19,11 +19,17 @@
|
||||
# break generating it in the first place — `docker compose run --rm --no-deps
|
||||
# app php artisan key:generate --show` has to work before `APP_KEY` exists.
|
||||
#
|
||||
# `app` is not published on a host port: routing is Traefik, on the external
|
||||
# `dokploy-network`, terminating TLS before anything reaches this container —
|
||||
# same reason `docker/Caddyfile` trusts `X-Forwarded-*` only from private
|
||||
# ranges. A manual deploy without Dokploy needs its own reverse proxy joined
|
||||
# to that network, or `app` added back to `default` with a published port.
|
||||
# `app` is not published on a host port: it only joins the external
|
||||
# `dokploy-network` so Dokploy's Traefik can reach it, and TLS is terminated
|
||||
# there before anything reaches this container — same reason
|
||||
# `docker/Caddyfile` trusts `X-Forwarded-*` only from private ranges. The
|
||||
# domain itself is configured through Dokploy's own "Domains" tab, which
|
||||
# injects its own Traefik labels — don't also add them here, Traefik ends up
|
||||
# with two routers for the same Host() and picks one unpredictably.
|
||||
#
|
||||
# A manual deploy without Dokploy needs its own reverse proxy joined to that
|
||||
# network (with its own labels/config), or `app` added back to `default` with
|
||||
# a published port.
|
||||
#
|
||||
# The web container is the only one that migrates, so a deploy runs them once
|
||||
# rather than once per replica.
|
||||
@@ -126,19 +132,12 @@ services:
|
||||
networks:
|
||||
- dokploy-network
|
||||
- default
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=dokploy-network
|
||||
- traefik.http.routers.landing-api-web.rule=Host(`landing-api.pireon.dev`)
|
||||
- traefik.http.routers.landing-api-web.entrypoints=web
|
||||
- traefik.http.routers.landing-api-web.middlewares=redirect-to-https@file
|
||||
- traefik.http.routers.landing-api-web.service=landing-api-web
|
||||
- traefik.http.services.landing-api-web.loadbalancer.server.port=80
|
||||
- traefik.http.routers.landing-api-websecure.rule=Host(`landing-api.pireon.dev`)
|
||||
- traefik.http.routers.landing-api-websecure.entrypoints=websecure
|
||||
- traefik.http.routers.landing-api-websecure.service=landing-api-websecure
|
||||
- traefik.http.routers.landing-api-websecure.tls.certresolver=letsencrypt
|
||||
- traefik.http.services.landing-api-websecure.loadbalancer.server.port=80
|
||||
|
||||
# No Traefik labels here on purpose: the domain is configured through
|
||||
# Dokploy's own "Domains" tab for this app, which injects its own labels
|
||||
# at deploy time. Hand-writing another set on top of those, for the same
|
||||
# Host(), gave Traefik two routers to choose between — it only broke once
|
||||
# both existed together, which is exactly what happened.
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-fsS", "http://localhost/up"]
|
||||
interval: 30s
|
||||
|
||||
Reference in New Issue
Block a user