You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/scripts/docker/docker-compose.yml

72 lines
1.6 KiB

version: '3.8'
services:
swarms:
build:
context: .
dockerfile: Dockerfile
image: swarms:latest
container_name: swarms-container
environment:
- PYTHONUNBUFFERED=1
- PYTHONPATH=/app
# Add your API keys here or use .env file
# - OPENAI_API_KEY=${OPENAI_API_KEY}
# - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
# - GOOGLE_API_KEY=${GOOGLE_API_KEY}
volumes:
- .:/app
- ./data:/app/data
- ./models:/app/models
working_dir: /app
command: python test_docker.py
restart: unless-stopped
healthcheck:
test: ["CMD", "python", "-c", "import swarms; print('Health check passed')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
swarms-dev:
build:
context: .
dockerfile: Dockerfile
image: swarms:dev
container_name: swarms-dev-container
environment:
- PYTHONUNBUFFERED=1
- PYTHONPATH=/app
volumes:
- .:/app
- ./data:/app/data
- ./models:/app/models
working_dir: /app
command: bash
stdin_open: true
tty: true
restart: unless-stopped
swarms-api:
build:
context: .
dockerfile: Dockerfile
image: swarms:api
container_name: swarms-api-container
environment:
- PYTHONUNBUFFERED=1
- PYTHONPATH=/app
volumes:
- .:/app
working_dir: /app
ports:
- "8000:8000"
command: python -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload
restart: unless-stopped
depends_on:
- swarms
networks:
default:
name: swarms-network