services: web: build: context: . args: - VITE_ADMIN_PIN=${VITE_ADMIN_PIN:-1234} networks: - proxy labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.gallery.entrypoints=http - traefik.http.routers.gallery.rule=Host(`gallery.dongho.kim`) - traefik.http.middlewares.gallery-redirect.redirectscheme.permanent=true - traefik.http.middlewares.gallery-redirect.redirectscheme.scheme=https - traefik.http.routers.gallery.middlewares=gallery-redirect - traefik.http.routers.gallery-secure.entrypoints=https - traefik.http.routers.gallery-secure.rule=Host(`gallery.dongho.kim`) - traefik.http.routers.gallery-secure.tls=true - traefik.http.routers.gallery-secure.tls.certresolver=cloudflare - traefik.http.services.gallery-secure-service.loadbalancer.server.port=8080 environment: - VITE_ADMIN_PIN=${VITE_ADMIN_PIN:-1234} - VITE_APP_TITLE=${VITE_APP_TITLE:-Chronicle} - VITE_APP_DESCRIPTION=${VITE_APP_DESCRIPTION:-A visual journey through time} volumes: - /mnt/big/gallery:/app/uploads - ./data:/app/data restart: always networks: proxy: external: true