version: '3.8' services: vue-app: build: context: . dockerfile: Dockerfile container_name: vue-demo-app restart: unless-stopped networks: - web_proxy labels: - "traefik.enable=true" # HTTP Router - "traefik.http.routers.vue-demo.rule=Host(`vue-demo.example.com`)" - "traefik.http.routers.vue-demo.entrypoints=web" - "traefik.http.routers.vue-demo.middlewares=redirect-to-https" # HTTPS Router - "traefik.http.routers.vue-demo-secure.rule=Host(`vue-demo.example.com`)" - "traefik.http.routers.vue-demo-secure.entrypoints=websecure" - "traefik.http.routers.vue-demo-secure.tls=true" - "traefik.http.routers.vue-demo-secure.tls.certresolver=letsencrypt" # Service - "traefik.http.services.vue-demo.loadbalancer.server.port=80" # Middleware per redirect HTTP -> HTTPS - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https" - "traefik.http.middlewares.redirect-to-https.redirectscheme.permanent=true" networks: web_proxy: external: true