--- services: excalidraw: image: excalidraw/excalidraw:${EXCALIDRAW_VERSION:-latest} container_name: excalidraw restart: on-failure stdin_open: true environment: - NODE_ENV=development networks: - traefik volumes: - ./data/app:/opt/node_app/app:delegated - ./data/package.json:/opt/node_app/package.json - ./data/yarn.lock:/opt/node_app/yarn.lock - ./data/node_modules:/opt/node_app/app/node_modules labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.http.routers.excalidraw.entrypoints=http" - "traefik.http.routers.excalidraw.rule=Host(`${EXCALIDRAW_DOMAIN:?error}`)" - "traefik.http.middlewares.excalidraw-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.excalidraw.middlewares=excalidraw-https-redirect" - "traefik.http.routers.excalidraw-secure.entrypoints=https" - "traefik.http.routers.excalidraw-secure.rule=Host(`${EXCALIDRAW_DOMAIN:?error}`)" - "traefik.http.routers.excalidraw-secure.tls=true" - "traefik.http.routers.excalidraw-secure.service=excalidraw" - "traefik.http.services.excalidraw.loadbalancer.server.port=80" healthcheck: test: ["CMD-SHELL", "curl -fsS -m 5 http://127.0.0.1/ >/dev/null || exit 1"] interval: 30s timeout: 10s retries: 5 start_period: 30s networks: traefik: external: true