diff --git a/distro/configs/traefik/config/tls.yml b/distro/configs/traefik/config/tls.yml index 6afb2642..310c8c2e 100755 --- a/distro/configs/traefik/config/tls.yml +++ b/distro/configs/traefik/config/tls.yml @@ -6,4 +6,4 @@ tls: keyFile: /etc/ssl/traefik/privkey.pem certificates: - certFile: /etc/ssl/traefik/cert.pem - keyFile: /etc/ssl/traefik/privkey.pem \ No newline at end of file + keyFile: /etc/ssl/traefik/privkey.pem diff --git a/distro/configs/traefik/config/traefik.yml b/distro/configs/traefik/config/traefik.yml index 71f95140..60fc4e61 100755 --- a/distro/configs/traefik/config/traefik.yml +++ b/distro/configs/traefik/config/traefik.yml @@ -18,13 +18,13 @@ entryPoints: scheme: https websecure: address: :443 + web4000: + address: :4000 http: - tls: - certResolver: le - domains: - - main: "traefik.me" - sans: - - "*.traefik.me" + redirections: + entryPoint: + to: web4000 + scheme: https certificatesResolvers: le: acme: @@ -32,13 +32,12 @@ certificatesResolvers: storage: /letsencrypt/acme.json httpChallenge: entryPoint: web + metrics: prometheus: entryPoint: "websecure" providers: - file: - filename: /etc/traefik/tls.yml docker: network: web - exposedByDefault: false \ No newline at end of file + exposedByDefault: false diff --git a/scripts/docker-compose-traefik.yml b/scripts/docker-compose-traefik.yml index 0970e3c2..893ef054 100755 --- a/scripts/docker-compose-traefik.yml +++ b/scripts/docker-compose-traefik.yml @@ -4,36 +4,35 @@ networks: services: traefik: - image: traefik:v2.6 + image: traefik:v3.5 restart: always ports: - - "${TRAEFIK_PUBLIC_PORT:-80}:80" + - "80:80" - "443:443" + - "4000:4000" networks: - web + environment: + # - TRAEFIK_API_URL=${TRAEFIK_API_URL} + - TRAEFIK_ADMIN_USER=${TRAEFIK_ADMIN_USER} + - TRAEFIK_ADMIN_PASSWORD=${TRAEFIK_ADMIN_PASSWORD} volumes: - /var/run/docker.sock:/var/run/docker.sock - - '${TRAEFIK_CONFIG_PATH}/config/traefik.yml:/etc/traefik/traefik.yml' - - '${TRAEFIK_CONFIG_PATH}/config/tls.yml:/etc/traefik/tls.yml' - - '${TRAEFIK_CONFIG_PATH}/letsencrypt:/letsencrypt' + - './config/traefik.yml:/etc/traefik/traefik.yml' + - './config/tls.yml:/etc/traefik/tls.yml' + - ${LETS_ENCRYPT_CERT_PATH:-./letsencrypt}:/letsencrypt - certs:/etc/ssl/traefik labels: traefik.enable: "true" - traefik.http.routers.traefik.rule: "Host(`${TRAEFIK_HOSTNAME}`)" + traefik.http.routers.traefik.rule: "Host(`${TRAEFIK_LIME_DOMAIN_NAME}`) && PathPrefix(`/traefik`)" traefik.http.routers.traefik.entrypoints: "websecure" traefik.http.routers.traefik.service: "api@internal" traefik.http.routers.traefik.middlewares: "auth" traefik.http.middlewares.auth.basicauth.users: "${TRAEFIK_ADMIN_USER}:${TRAEFIK_ADMIN_PASSWORD}" + # Add TLS configuration for this specific router + traefik.http.routers.traefik.tls: "true" + traefik.http.routers.traefik.tls.certresolver: "le" + traefik.http.routers.traefik.tls.domains: "api.traefik.me" - depends_on: - reverse-proxy-https-helper: - condition: service_completed_successfully - reverse-proxy-https-helper: - image: alpine - command: sh -c "cd /etc/ssl/traefik - && wget traefik.me/fullchain.pem -O cert.pem - && wget traefik.me/privkey.pem -O privkey.pem" - volumes: - - certs:/etc/ssl/traefik volumes: certs: \ No newline at end of file diff --git a/scripts/secrets/azure.msf.env b/scripts/secrets/azure.msf.env index 48849979..346844ef 100644 --- a/scripts/secrets/azure.msf.env +++ b/scripts/secrets/azure.msf.env @@ -228,6 +228,7 @@ MSF_DHIS2_PASSWORD=Admin123 # Traefik Configuration # ============================================================================== +TRAEFIK_LIME_DOMAIN_NAME= TRAEFIK_HOSTNAME=api-172-17-0-1.traefik.me TRAEFIK_ADMIN_USER=admin TRAEFIK_ADMIN_PASSWORD='{SHA}evLRC3OrfNj2A5N/dpfLX+Qyx/8=' diff --git a/scripts/secrets/local.msf.env b/scripts/secrets/local.msf.env index 7bb47658..b96bb1cf 100644 --- a/scripts/secrets/local.msf.env +++ b/scripts/secrets/local.msf.env @@ -232,6 +232,7 @@ MSF_DHIS2_PASSWORD=Admin123 # Traefik Configuration # ============================================================================== +TRAEFIK_LIME_DOMAIN_NAME= TRAEFIK_HOSTNAME=api-172-17-0-1.traefik.me TRAEFIK_ADMIN_USER=admin TRAEFIK_ADMIN_PASSWORD='{SHA}evLRC3OrfNj2A5N/dpfLX+Qyx/8='