version: '3.8'

services:
  chorus-blog:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3002:3000"
    environment:
      - NODE_ENV=production
      - NEXT_TELEMETRY_DISABLED=1
    volumes:
      - ./posts:/app/posts:ro
      - ./scheduled:/app/scheduled:ro
      - blog_logs:/app/.next/cache
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=tengig"
      - "traefik.http.routers.chorus-blog.rule=Host(`blog.chorus.services`)"
      - "traefik.http.routers.chorus-blog.entrypoints=web-secured"
      - "traefik.http.routers.chorus-blog.tls.certresolver=letsencryptresolver"
      - "traefik.http.services.chorus-blog.loadbalancer.server.port=3000"
      - "traefik.http.services.chorus-blog.loadbalancer.passhostheader=true"
    networks:
      - tengig
    restart: unless-stopped

volumes:
  blog_logs:

networks:
  tengig:
    external: true