Files
portfolio/compose.yaml
2025-12-17 10:42:20 -05:00

39 lines
1.2 KiB
YAML

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