From 1b052bd48ed13bb2d427fd1fd7a4095005c992e9 Mon Sep 17 00:00:00 2001 From: "Dejan R." Date: Fri, 5 Dec 2025 10:11:44 +0000 Subject: [PATCH] added middlewares and loadbalance --- docker-compose.yml | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 65b025a..0b9b4a7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: "3.9" - services: fitness: build: . @@ -12,6 +10,35 @@ services: # Host folder -> container /data # On host, your db will be: ./fitness-data/fitness.db - ./fitness-data:/data - ports: + # ports: # For quick testing; in production you'd put Traefik in front instead - - "8080:8080" + # - "8080:8080" + labels: + - "traefik.enable=true" + + # Public domain + - "traefik.http.routers.fitness.rule=Host(`fitness.rozic-dev.com`)" + + # Listen on HTTP & HTTPS + - "traefik.http.routers.fitness.entrypoints=web,websecure" + + # Force HTTPS using your GLOBAL redirect middleware + - "traefik.http.routers.fitness.middlewares=redirect-to-https, fitness-auth" + + # TLS + Let's Encrypt + - "traefik.http.routers.fitness.tls=true" + - "traefik.http.routers.fitness.tls.certresolver=letsencrypt" + + # App internal port + - "traefik.http.services.fitness.loadbalancer.server.port=8080" + + # - "traefik.http.routers.traefik.middlewares=fitness-auth" + #- "traefik.http.middlewares.traefik-auth.basicauth.users=admin:$$apr1$$8EVjn/nj$$GiLUZqcbueTFeD23SuB6x0" # admin:admin123 + #- "traefik.http.middlewares.traefik-auth.basicauth.users=admin:$apr1$yGKxPD8U$z4eeZaKNzoASEpr2yh4wQ" # admin:admin123 + - "traefik.http.middlewares.fitness-auth.basicauth.users=Dejan:$$apr1$$F5Y8CeQ1$$C2jX95nwyeJAjhtGxvnOJ/" # admin:admin123 + networks: + - traefik_default + +networks: + traefik_default: + external: true \ No newline at end of file