templates/blueprints/windmill/docker-compose.yml

105 lines
2.3 KiB
YAML

version: "3.8"
services:
windmill-postgres:
image: postgres:16
shm_size: 1g
restart: unless-stopped
volumes:
- windmill-postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
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
restart: unless-stopped
environment:
- DATABASE_URL=${DATABASE_URL}
- MODE=server
- BASE_URL=http://${WINDMILL_HOST}
depends_on:
windmill-postgres:
condition: service_healthy
volumes:
- windmill-worker-logs:/tmp/windmill/logs
windmill-worker:
image: ghcr.io/windmill-labs/windmill:main
deploy:
replicas: 3
resources:
limits:
cpus: "1"
memory: 2048M
restart: unless-stopped
environment:
- DATABASE_URL=${DATABASE_URL}
- MODE=worker
- WORKER_GROUP=default
depends_on:
windmill-postgres:
condition: service_healthy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- windmill-worker-cache:/tmp/windmill/cache
- windmill-worker-logs:/tmp/windmill/logs
windmill-worker-native:
image: ghcr.io/windmill-labs/windmill:main
deploy:
replicas: 1
resources:
limits:
cpus: "0.1"
memory: 128M
restart: unless-stopped
environment:
- DATABASE_URL=${DATABASE_URL}
- MODE=worker
- WORKER_GROUP=native
- NUM_WORKERS=8
- SLEEP_QUEUE=200
depends_on:
windmill-postgres:
condition: service_healthy
volumes:
- windmill-worker-logs:/tmp/windmill/logs
windmill-lsp:
image: ghcr.io/windmill-labs/windmill-lsp:latest
restart: unless-stopped
volumes:
- windmill-lsp-cache:/root/.cache
windmill-caddy:
image: ghcr.io/windmill-labs/caddy-l4:latest
restart: unless-stopped
volumes:
- ../files/Caddyfile:/etc/caddy/Caddyfile
environment:
- BASE_URL=":80"
depends_on:
- windmill-server
- windmill-lsp
networks:
dokploy-network:
external: true
volumes:
windmill-postgres-data:
windmill-worker-cache:
windmill-worker-logs:
windmill-lsp-cache: