Files
windmill/examples/deploy/private-package-registry-tls/docker-compose.yml

70 lines
1.9 KiB
YAML

version: "3.7"
services:
npm_registry:
image: verdaccio/verdaccio
environment:
- VERDACCIO_PROTOCOL=http
- VERDACCIO_PUBLIC_URL=http://caddy/npm/
volumes:
- ./verdaccio_conf:/verdaccio/conf
- npm_registry_data:/verdaccio/storage
pypi_server:
image: pypiserver/pypiserver:latest
platform: linux/x86_64
volumes:
- pypi_data:/data/packages
command: run -P . -a . /data/packages
caddy:
image: caddy:2.5.2-alpine
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./certs:/certs
- ./helloworld_static:/static/
ports:
- 443:443
environment:
- BASE_URL=":443"
db:
image: postgres:14
volumes:
- db_data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: changeme
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
ports:
- 8000:8000
environment:
- DATABASE_URL=postgres://postgres:changeme@db/windmill?sslmode=disable
- WORKER_TAGS=deno,go,python3,bash,flow,hub,dependency,nativets
# For DENO and REST scripts:
- NPM_CONFIG_REGISTRY=http://caddy/npm/
- DENO_CERT=/custom-certs/windmill-root.crt # this will make deno trust this RootCA for all sessions
# - DENO_TLS_CA_STORE=system # alternatively, you can use this but you'll need to manually trust the RootCA at the host level, see README.md
# For Python scripts:
- PIP_INDEX_URL=https://caddy/simple/
- PIP_INDEX_CERT=/custom-certs/windmill-root.crt # this will make pip trust this RootCA for all sessions
volumes:
- ./certs:/custom-certs
depends_on:
db:
condition: service_healthy
volumes:
npm_registry_data: null
pypi_data: null
db_data: null