Files
waggle-os/docker-compose.yml
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

94 lines
2.6 KiB
YAML

services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: waggle
POSTGRES_PASSWORD: waggle_dev
POSTGRES_DB: waggle
ports:
- '5434:5432'
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U waggle"]
interval: 5s
timeout: 3s
retries: 5
redis:
image: redis:7-alpine
ports:
- '6381:6379'
volumes:
- redisdata:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
minio:
image: minio/minio:latest
ports:
- '9000:9000'
- '9001:9001'
environment:
MINIO_ROOT_USER: waggle
MINIO_ROOT_PASSWORD: waggle_s3_dev
volumes:
- miniodata:/data
command: server /data --console-address ":9001"
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 5s
retries: 5
# One-shot: creates the waggle-files bucket if it doesn't exist
minio-init:
image: minio/mc:latest
depends_on:
minio:
condition: service_healthy
entrypoint: >
/bin/sh -c "
mc alias set waggle http://minio:9000 waggle waggle_s3_dev &&
mc mb --ignore-existing waggle/waggle-files &&
mc anonymous set download waggle/waggle-files &&
echo 'Bucket waggle-files ready'
"
restart: "no"
litellm:
image: ghcr.io/berriai/litellm:main-latest
ports:
- '4000:4000'
volumes:
- ./litellm-config.yaml:/app/config.yaml
# LiteLLM resolves `os.environ/<KEY>` at request time inside the
# container, so every provider referenced in litellm-config.yaml
# needs a matching passthrough here. Guarded by
# tests/docker-compose-litellm-env.test.ts — if you add a provider
# in the config, the test will flag the missing passthrough.
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- GEMINI_API_KEY=${GEMINI_API_KEY}
- XAI_API_KEY=${XAI_API_KEY}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}
- PERPLEXITY_API_KEY=${PERPLEXITY_API_KEY}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
- MOONSHOT_API_KEY=${MOONSHOT_API_KEY}
- DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}
- MISTRAL_API_KEY=${MISTRAL_API_KEY}
- MINIMAX_API_KEY=${MINIMAX_API_KEY}
- ZHIPU_API_KEY=${ZHIPU_API_KEY}
- GENSPARK_API_KEY=${GENSPARK_API_KEY}
- LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY:-sk-waggle-dev}
command: --config /app/config.yaml
volumes:
pgdata:
redisdata:
miniodata: