services: excalidraw: image: excalidraw/excalidraw:latest container_name: excalidraw ports: - 8888:80 # web-ui for drawing expose: - 80 restart: unless-stopped entrypoint: /bin/sh command: - -c - | echo "Replacing WebSocket URL with: $$VITE_APP_WS_SERVER_URL" find /usr/share/nginx/html/assets -type f -name "*.js" -exec sed -i 's|https://oss-collab\.excalidraw\.com|'$$VITE_APP_WS_SERVER_URL'|g' {} + echo "Starting nginx..." nginx -g 'daemon off;' stdin_open: true healthcheck: test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:80/ >/dev/null 2>&1 || exit 1"] interval: 30s timeout: 5s retries: 3 start_period: 20s environment: - NODE_ENV=production - VITE_APP_WS_SERVER_URL=https://draw2gether.example.com # define your custom url for selfhosted excalidraw-room below #networks: # - proxy #labels: # - traefik.enable=true # - traefik.http.routers.excalidraw.rule=Host(`draw.example.com`) # - traefik.http.services.excalidraw.loadbalancer.server.port=80 # - traefik.docker.network=proxy excalidraw-room: image: excalidraw/excalidraw-room:latest container_name: excalidraw-room ports: - 8889:80 # web-socket for collaboration expose: - 80 restart: unless-stopped healthcheck: test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:80/ >/dev/null 2>&1 || exit 1"] interval: 30s timeout: 5s retries: 3 start_period: 20s #networks: # - proxy #labels: # - traefik.enable=true # - traefik.http.routers.excalidraw-collab.rule=Host(`draw2gether.example.com`) # - traefik.http.services.excalidraw-collab.loadbalancer.server.port=80 # - traefik.docker.network=proxy #networks: # proxy: # external: true