126 lines
3.6 KiB
YAML
126 lines
3.6 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_USER=${SERVICE_USER_POSTGRES}
|
|
- POSTGRES_DB=${POSTGRES_DB:-windmill-db}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
windmill-server:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- SERVICE_FQDN_WINDMILL_8000
|
|
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@db/${POSTGRES_DB:-windmill-db}
|
|
- 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/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
windmill-worker-1:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@db/${POSTGRES_DB:-windmill-db}
|
|
- MODE=worker
|
|
- 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-SHELL", "exit 0"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
windmill-worker-2:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@db/${POSTGRES_DB:-windmill-db}
|
|
- MODE=worker
|
|
- 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-SHELL", "exit 0"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
windmill-worker-3:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@db/${POSTGRES_DB:-windmill-db}
|
|
- MODE=worker
|
|
- 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-SHELL", "exit 0"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
windmill-worker-native:
|
|
image: ghcr.io/windmill-labs/windmill:main
|
|
environment:
|
|
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@db/${POSTGRES_DB:-windmill-db}
|
|
- MODE=worker
|
|
- WORKER_GROUP=native
|
|
- NUM_WORKERS=8
|
|
- SLEEP_QUEUE=200
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- worker-logs:/tmp/windmill/logs
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "exit 0"]
|
|
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
|
|
start_period: 20s |