125 lines
3.7 KiB
YAML
125 lines
3.7 KiB
YAML
# documentation: https://www.windmill.dev/docs/
|
|
# slogan: Windmill is a developer platform to build production-grade multi-steps automations and internal apps.
|
|
# tags: windmill,workflow,automation,developer,platform
|
|
# logo: svgs/windmill.svg
|
|
# port: 8000
|
|
|
|
services:
|
|
db:
|
|
image: postgres:16
|
|
shm_size: 1g
|
|
volumes:
|
|
- db-data:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
|
- POSTGRES_DB=${POSTGRES_DB:-windmill}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
windmill-server:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- SERVICE_FQDN_WINDMILL_8000
|
|
- DATABASE_URL=postgres://postgres:$SERVICE_PASSWORD_POSTGRES@db/windmill
|
|
- MODE=${MODE:-server}
|
|
- BASE_URL=$SERVICE_FQDN_WINDMILL
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- worker-logs:/tmp/windmill/logs
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/api/version || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
windmill-worker-1:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:$SERVICE_PASSWORD_POSTGRES@db/windmill
|
|
- MODE=${MODE:-worker}
|
|
- WORKER_GROUP=${WORKER_GROUP:-default}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- worker-dependency-cache:/tmp/windmill/cache
|
|
- worker-logs:/tmp/windmill/logs
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/api/version || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
windmill-worker-2:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:$SERVICE_PASSWORD_POSTGRES@db/windmill
|
|
- MODE=${MODE:-worker}
|
|
- WORKER_GROUP=${WORKER_GROUP:-default}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- worker-dependency-cache:/tmp/windmill/cache
|
|
- worker-logs:/tmp/windmill/logs
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/api/version || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
windmill-worker-3:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:$SERVICE_PASSWORD_POSTGRES@db/windmill
|
|
- MODE=${MODE:-worker}
|
|
- WORKER_GROUP=${WORKER_GROUP:-default}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- worker-dependency-cache:/tmp/windmill/cache
|
|
- worker-logs:/tmp/windmill/logs
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/api/version || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
windmill-worker-native:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:$SERVICE_PASSWORD_POSTGRES@db/windmill
|
|
- MODE=${MODE:-worker}
|
|
- WORKER_GROUP=${WORKER_GROUP:-native}
|
|
- NUM_WORKERS=${NUM_WORKERS:-8}
|
|
- SLEEP_QUEUE=${SLEEP_QUEUE:-200}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- worker-logs:/tmp/windmill/logs
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/api/version || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
lsp:
|
|
image: ghcr.io/windmill-labs/windmill-lsp:latest
|
|
volumes:
|
|
- lsp-cache:/root/.cache
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "exit 0"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|