woj-server/docker-compose.yml

97 lines
2.2 KiB
YAML

services:
server:
image: quay.io/ldcraft/woj-server:1.3.1-dev
restart: unless-stopped
healthcheck:
test: [ "CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8000/health" ]
interval: 5s
command: server
environment:
- REDIS_ADDRESS=cache
- DATABASE_HOST=db
- DATABASE_USER=dev
- DATABASE_PASSWORD=password
- DATABASE_NAME=dev
- STORAGE_ENDPOINT=storage:9000
- STORAGE_ACCESS_KEY=access_key
- STORAGE_SECRET_KEY=secret_key
- STORAGE_BUCKET=woj
- DEVELOPMENT=true
volumes:
- /etc/localtime:/etc/localtime:ro
depends_on:
- storage
- cache
- db
ports:
- "8000:8000"
runner:
image: quay.io/ldcraft/woj-runner:1.3.1-dev
restart: unless-stopped
command: runner
# moby/moby#42040, enable privileged option to make cgroup2 mount as rw
privileged: true
cap_add:
- SYS_ADMIN
environment:
- REDIS_ADDRESS=cache
- STORAGE_ENDPOINT=storage:9000
- STORAGE_ACCESS_KEY=access_key
- STORAGE_SECRET_KEY=secret_key
- STORAGE_BUCKET=woj
- DEVELOPMENT=true
volumes:
- runner:/app/resource/runner/user
- /etc/localtime:/etc/localtime:ro
depends_on:
- storage
- cache
- db
storage:
image: quay.io/minio/minio:latest
restart: unless-stopped
entrypoint: sh
command: -c 'mkdir -p /data/woj && minio server /data'
environment:
MINIO_ROOT_USER: "access_key"
MINIO_ROOT_PASSWORD: "secret_key"
ports:
- "9000:9000"
volumes:
- storage:/data
cache:
image: docker.io/library/redis:alpine
restart: unless-stopped
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 5s
ports:
- "6379:6379"
volumes:
- cache:/data
db:
image: docker.io/library/postgres:16-alpine
restart: unless-stopped
healthcheck:
test: [ "CMD", "pg_isready", "-U", "dev" ]
interval: 5s
environment:
- POSTGRES_USER=dev
- POSTGRES_PASSWORD=password
- POSTGRES_DB=dev
ports:
- "5432:5432"
volumes:
- db:/var/lib/postgresql/data
volumes:
runner:
container:
storage:
cache:
db: