version: '3.8'
services:
realizar-cpu:
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:3000"
environment:
- RUST_LOG=info
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health"]
interval: 30s
timeout: 3s
retries: 3
start_period: 5s
restart: unless-stopped
realizar-gpu:
build:
context: .
dockerfile: Dockerfile.gpu
ports:
- "3001:3000"
environment:
- RUST_LOG=info
- CUDA_VISIBLE_DEVICES=0
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health"]
interval: 30s
timeout: 3s
retries: 3
start_period: 5s
restart: unless-stopped
prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
restart: unless-stopped
profiles:
- monitoring
grafana:
image: grafana/grafana:latest
ports:
- "3030:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
- grafana_data:/var/lib/grafana
restart: unless-stopped
profiles:
- monitoring
volumes:
prometheus_data:
grafana_data: