version: '3.8' services: portfolio: build: context: . dockerfile: Dockerfile container_name: lisilou-portfolio restart: unless-stopped ports: - "8080:80" volumes: # Mount config for easy updates without rebuilding - ./config:/usr/share/nginx/html/config:ro # Mount images for easy updates - ./public/images:/usr/share/nginx/html/images:ro environment: - TZ=America/Denver healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:80/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s networks: - web # Optional: Watchtower for automatic updates # watchtower: # image: containrrr/watchtower # volumes: # - /var/run/docker.sock:/var/run/docker.sock # command: --interval 300 lisilou-portfolio networks: web: external: true