mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-18 16:02:10 +00:00
117 lines
3.0 KiB
YAML
117 lines
3.0 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
db:
|
|
deploy:
|
|
# To use an external database, set replicas to 0 and set DATABASE_URL to the external database url in the .env file
|
|
replicas: 1
|
|
image: postgres:14
|
|
restart: unless-stopped
|
|
volumes:
|
|
- db_data:/var/lib/postgresql/data
|
|
expose:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_PASSWORD: changeme
|
|
POSTGRES_DB: windmill
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
windmill_server:
|
|
image: ${WM_IMAGE}
|
|
pull_policy: always
|
|
deploy:
|
|
replicas: 1
|
|
restart: unless-stopped
|
|
expose:
|
|
- 8000
|
|
environment:
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- MODE=server
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
windmill_worker:
|
|
image: ${WM_IMAGE}
|
|
pull_policy: always
|
|
deploy:
|
|
replicas: 3
|
|
resources:
|
|
limits:
|
|
cpus: "1"
|
|
memory: 2048M
|
|
restart: unless-stopped
|
|
environment:
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- MODE=worker
|
|
- WORKER_GROUP=default
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
# to mount the worker folder to debug, KEEP_JOB_DIR=true and mount /tmp/windmill
|
|
volumes:
|
|
# mount the docker socket to allow to run docker containers from within the workers
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- worker_dependency_cache:/tmp/windmill/cache
|
|
|
|
## This worker is specialized for "native" jobs. Native jobs run in-process and thus are much more lightweight than other jobs
|
|
windmill_worker_native:
|
|
# Use ghcr.io/windmill-labs/windmill-ee:main for the ee
|
|
image: ${WM_IMAGE}
|
|
pull_policy: always
|
|
deploy:
|
|
replicas: 2
|
|
resources:
|
|
limits:
|
|
cpus: "0.1"
|
|
memory: 128M
|
|
restart: unless-stopped
|
|
environment:
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- MODE=worker
|
|
- WORKER_GROUP=native
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
lsp:
|
|
image: ghcr.io/windmill-labs/windmill-lsp:latest
|
|
pull_policy: always
|
|
restart: unless-stopped
|
|
expose:
|
|
- 3001
|
|
volumes:
|
|
- lsp_cache:/root/.cache
|
|
|
|
multiplayer:
|
|
image: ghcr.io/windmill-labs/windmill-multiplayer:latest
|
|
deploy:
|
|
replicas: 0 # Set to 1 to enable multiplayer, only available on Enterprise Edition
|
|
restart: unless-stopped
|
|
expose:
|
|
- 3002
|
|
|
|
caddy:
|
|
image: caddy:2.5.2-alpine
|
|
restart: unless-stopped
|
|
|
|
# Configure the mounted Caddyfile and the exposed ports or use another reverse proxy if needed
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
|
ports:
|
|
# To change the exposed port, simply change 80:80 to <desired_port>:80. No other changes needed
|
|
- 80:80
|
|
#- 443:443 # Uncomment to enable HTTPS handling by Caddy
|
|
environment:
|
|
- BASE_URL=":80"
|
|
#- BASE_URL=mydomain.com # Uncomment and comment line above to enable HTTPS handling by Caddy
|
|
|
|
volumes:
|
|
db_data: null
|
|
worker_dependency_cache: null
|
|
lsp_cache: null
|