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.

71 lines
1.5 KiB

version: '3.8'
services:
mongodb:
image: mongo:7.0
container_name: face_recognition_mongo
restart: always
ports:
- "27017:27017"
volumes:
- mongo_data:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: admin123
MONGO_INITDB_DATABASE: face_recognition
networks:
- face_recognition_net
chromadb:
image: chromadb/chroma:latest
container_name: face_recognition_chroma
restart: always
ports:
- "8000:8000"
volumes:
- chroma_data:/chroma/chroma
environment:
- IS_PERSISTENT=TRUE
- PERSIST_DIRECTORY=/chroma/chroma
- ANONYMIZED_TELEMETRY=FALSE
networks:
- face_recognition_net
face_recognition:
build:
context: .
dockerfile: Dockerfile
container_name: face_recognition_app
restart: always
ports:
- "7860:7860"
volumes:
- ./data:/app/data
- ./models:/app/models
environment:
- MONGODB_URL=mongodb://admin:admin123@mongodb:27017/face_recognition?authSource=admin
- MONGODB_DB=face_recognition
- CHROMA_HOST=chromadb
- CHROMA_PORT=8000
- UPLOAD_DIR=/app/data/uploads
- NVIDIA_VISIBLE_DEVICES=all
depends_on:
- mongodb
- chromadb
networks:
- face_recognition_net
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
volumes:
mongo_data:
chroma_data:
networks:
face_recognition_net:
driver: bridge