2025-02-24 13:58:59 +00:00
|
|
|
services:
|
|
|
|
|
backend:
|
|
|
|
|
build: ./
|
|
|
|
|
restart: always
|
|
|
|
|
labels:
|
|
|
|
|
# Enable Traefik for this specific "backend" service
|
|
|
|
|
- traefik.enable=true
|
|
|
|
|
# Define the port inside of the Docker service to use
|
|
|
|
|
- traefik.http.services.app.loadbalancer.server.port=80
|
|
|
|
|
# Make Traefik use this domain in HTTP
|
|
|
|
|
- traefik.http.routers.app-http.entrypoints=http
|
|
|
|
|
- traefik.http.routers.app-http.rule=Host(`api.xtablo.com`)
|
|
|
|
|
# Use the traefik-public network (declared below)
|
|
|
|
|
- traefik.docker.network=traefik-public
|
|
|
|
|
# Make Traefik use this domain in HTTPS
|
|
|
|
|
- traefik.http.routers.app-https.entrypoints=https
|
|
|
|
|
- traefik.http.routers.app-https.rule=Host(`api.xtablo.com`)
|
|
|
|
|
- traefik.http.routers.app-https.tls=true
|
|
|
|
|
# Use the "le" (Let's Encrypt) resolver
|
|
|
|
|
- traefik.http.routers.app-https.tls.certresolver=le
|
|
|
|
|
# https-redirect middleware to redirect HTTP to HTTPS
|
|
|
|
|
- traefik.http.middlewares.https-redirect.redirectscheme.scheme=https
|
|
|
|
|
- traefik.http.middlewares.https-redirect.redirectscheme.permanent=true
|
|
|
|
|
# Middleware to redirect HTTP to HTTPS
|
|
|
|
|
- traefik.http.routers.app-http.middlewares=https-redirect
|
|
|
|
|
- traefik.http.routers.app-https.middlewares=admin-auth
|
|
|
|
|
networks:
|
|
|
|
|
# Use the public network created to be shared between Traefik and
|
|
|
|
|
# any other service that needs to be publicly available with HTTPS
|
|
|
|
|
- traefik-public
|
2025-02-11 19:49:53 +00:00
|
|
|
|
|
|
|
|
networks:
|
2025-02-24 13:58:59 +00:00
|
|
|
traefik-public:
|
2025-02-11 19:49:53 +00:00
|
|
|
external: true
|