/ docker-compose.yml
docker-compose.yml
 1  version: '3.8'
 2  
 3  services:
 4    api:
 5      build: .
 6      container_name: cerastes_api
 7      ports:
 8        - "8000:8000"
 9      volumes:
10        - ./uploads:/app/uploads
11        - ./results:/app/results
12        - ./inference_results:/app/inference_results
13        - ./logs:/app/logs
14      environment:
15        - HOST=0.0.0.0
16        - PORT=8000
17        - LOG_LEVEL=info
18        - ENVIRONMENT=production
19        - CORS_ORIGINS=*
20        - HUGGINGFACE_TOKEN=${HUGGINGFACE_TOKEN}
21        - SECRET_KEY=${SECRET_KEY}
22        - STRIPE_API_KEY=${STRIPE_API_KEY}
23        - STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET}
24      restart: unless-stopped
25      deploy:
26        resources:
27          reservations:
28            devices:
29              - driver: nvidia
30                count: all
31                capabilities: [gpu]
32  
33    mongo:
34      image: mongo:6
35      container_name: cerastes_mongo
36      ports:
37        - "27017:27017"
38      volumes:
39        - mongo_data:/data/db
40      environment:
41        - MONGO_INITDB_ROOT_USERNAME=${MONGO_USERNAME}
42        - MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD}
43      restart: unless-stopped
44  
45  volumes:
46    mongo_data: