Fitnes-tracker/docker-compose.yml

44 lines
1.6 KiB
YAML
Raw Normal View History

2025-12-04 17:49:19 +00:00
services:
fitness:
build: .
container_name: fitness-tracker
restart: unless-stopped
environment:
# DB file inside container
- DATABASE_URL=/data/fitness.db
volumes:
# Host folder -> container /data
# On host, your db will be: ./fitness-data/fitness.db
- ./fitness-data:/data
2025-12-05 10:11:44 +00:00
# ports:
2025-12-04 17:49:19 +00:00
# For quick testing; in production you'd put Traefik in front instead
2025-12-05 10:11:44 +00:00
# - "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