services: portfolio: build: context: . dockerfile: Dockerfile container_name: portfolio restart: unless-stopped networks: - traefik labels: # Enable Traefik - "traefik.enable=true" # HTTP Router - "traefik.http.routers.portfolio.rule=Host(`portfolio.yourdomain.com`)" - "traefik.http.routers.portfolio.entrypoints=web" # HTTPS Router - "traefik.http.routers.portfolio-secure.rule=Host(`portfolio.yourdomain.com`)" - "traefik.http.routers.portfolio-secure.entrypoints=websecure" - "traefik.http.routers.portfolio-secure.tls=true" - "traefik.http.routers.portfolio-secure.tls.certresolver=letsencrypt" # HTTP to HTTPS Redirect - "traefik.http.routers.portfolio.middlewares=portfolio-redirect" - "traefik.http.middlewares.portfolio-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.portfolio-redirect.redirectscheme.permanent=true" # Service - "traefik.http.services.portfolio.loadbalancer.server.port=3000" # Dockge metadata (optional, for better organization in Dockge) - "com.dockge.project=portfolio" - "com.dockge.description=Personal portfolio website" networks: traefik: external: true