version: '3.7' services: db: image: postgres:13 restart: always volumes: - db_data:/var/lib/postgresql/data - ./init-db.sql:/docker-entrypoint-initdb.d/create_tables.sql ports: - 5432:5432 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: windmill healthcheck: test: [ "CMD-SHELL", "pg_isready -U postgres" ] interval: 10s timeout: 5s retries: 5 windmill: image: ghcr.io/windmill-labs/windmill:main privileged: true restart: unless-stopped ports: - 8000:8000 environment: - DATABASE_URL=postgres://postgres:${DB_PASSWORD}@db/windmill?sslmode=disable - APP_USER_PASSWORD=changeme - BASE_URL=https://localhost" - BASE_INTERNAL_URL=http://localhost:8000" - RUST_LOG=info - NUM_WORKERS=3 - RUST_BACKTRACE=1 depends_on: db: condition: service_healthy caddy: image: caddy restart: unless-stopped environment: - SITE_URL=${SITE_URL} ports: - 80:80 - 443:443 volumes: - $PWD/Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data volumes: caddy_data: external: true db_data: null