version: '3.8' services: netpod: image: busybox:latest ports: - "5556:5556" # Dex - "3002:3002" # Excalidraw command: ["sleep", "infinity"] networks: - excalidraw-network dex: image: dexidp/dex:v2.38.0 container_name: excalidraw-dex restart: unless-stopped volumes: - ./config/dex.config.yaml:/etc/dex/config.yaml environment: - OIDC_REDIRECT_URL=${OIDC_REDIRECT_URL:-http://localhost:3002/auth/callback} - OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET:-excalidraw-secret} - OIDC_CLIENT_ID=${OIDC_CLIENT_ID:-excalidraw} - OIDC_ISSUER=${OIDC_ISSUER:-http://localhost:5556} - ADMIN_USERNAME=${ADMIN_USERNAME:-admin} - ADMIN_PASSWORD_HASH=${ADMIN_PASSWORD_HASH:-your_secure_password} - ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com} - ADMIN_USER_ID=${ADMIN_USER_ID:-'admin1234'} command: ["dex", "serve", "/etc/dex/config.yaml"] healthcheck: test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://localhost:5556/.well-known/openid-configuration"] interval: 1s timeout: 1s retries: 10 start_period: 10s network_mode: service:netpod excalidraw: image: ghcr.io/betterandbetterii/excalidraw-full:main volumes: - ./data:/root/data - ./excalidraw.db:/root/excalidraw.db:Z - ./.env:/root/.env depends_on: dex: condition: service_healthy network_mode: service:netpod networks: excalidraw-network: driver: bridge