111 lines
2.8 KiB
YAML
111 lines
2.8 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
|
|
ports:
|
|
- 5432: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}:${WM_VERSION}
|
|
labels:
|
|
dev.windmill.role: server
|
|
deploy:
|
|
replicas: 1
|
|
restart: unless-stopped
|
|
expose:
|
|
- 8000
|
|
ports:
|
|
- 8000:8000
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:changeme@db/windmill?sslmode=disable
|
|
- MODE=server
|
|
- LISTEN_NEW_EVENTS_INTERVAL_SEC=1
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:8000/api/version || exit 1"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
windmill_worker:
|
|
image: ${WM_IMAGE}:${WM_VERSION}
|
|
labels:
|
|
dev.windmill.role: worker
|
|
deploy:
|
|
replicas: 1
|
|
resources:
|
|
limits:
|
|
cpus: "1"
|
|
memory: 2048M
|
|
restart: unless-stopped
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:changeme@db/windmill?sslmode=disable
|
|
- MODE=worker
|
|
- WORKER_GROUP=default
|
|
- LISTEN_NEW_EVENTS_INTERVAL_SEC=1
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:8000/api/version || exit 1"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
windmill_server:
|
|
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
|
|
|
|
npm_registry:
|
|
image: verdaccio/verdaccio
|
|
environment:
|
|
- VERDACCIO_PROTOCOL=http
|
|
- VERDACCIO_PUBLIC_URL=http://npm_registry:4873
|
|
ports:
|
|
- 4873:4873
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:4873/-/ping || exit 1"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
volumes:
|
|
- ./verdaccio:/verdaccio/conf
|
|
- npm_registry_data:/verdaccio/storage
|
|
|
|
pypi_server:
|
|
image: pypiserver/pypiserver:latest
|
|
platform: linux/x86_64
|
|
ports:
|
|
- 8080:8080
|
|
volumes:
|
|
- pypi_data:/data/packages
|
|
command: run -P . -a . /data/packages
|
|
|
|
volumes:
|
|
db_data: null
|
|
npm_registry_data: null
|
|
worker_dependency_cache: null
|
|
pypi_data: null
|