Fisrt commit. Docker compose is working
This commit is contained in:
73
docker-compose.yml
Normal file
73
docker-compose.yml
Normal file
@@ -0,0 +1,73 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# Redis - Message broker for Celery
|
||||
redis:
|
||||
image: redis:8-alpine
|
||||
container_name: mydocmanager-redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
networks:
|
||||
- mydocmanager-network
|
||||
|
||||
# MongoDB - Final database for results
|
||||
mongodb:
|
||||
image: mongo:7
|
||||
container_name: mydocmanager-mongodb
|
||||
ports:
|
||||
- "27017:27017"
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: admin
|
||||
MONGO_INITDB_ROOT_PASSWORD: password123
|
||||
MONGO_INITDB_DATABASE: mydocmanager
|
||||
volumes:
|
||||
- mongodb-data:/data/db
|
||||
networks:
|
||||
- mydocmanager-network
|
||||
|
||||
# File Processor - FastAPI + file monitoring + Celery task dispatch
|
||||
file-processor:
|
||||
build:
|
||||
context: ./src/file-processor
|
||||
dockerfile: Dockerfile
|
||||
container_name: mydocmanager-file-processor
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- REDIS_URL=redis://redis:6379/0
|
||||
- MONGODB_URL=mongodb://admin:password123@mongodb:27017/mydocmanager?authSource=admin
|
||||
volumes:
|
||||
- ./src/file-processor/app:/app
|
||||
- ./volumes/watched_files:/watched_files
|
||||
depends_on:
|
||||
- redis
|
||||
- mongodb
|
||||
networks:
|
||||
- mydocmanager-network
|
||||
command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
||||
|
||||
# Worker - Celery workers for document processing
|
||||
worker:
|
||||
build:
|
||||
context: ./src/worker
|
||||
dockerfile: Dockerfile
|
||||
container_name: mydocmanager-worker
|
||||
environment:
|
||||
- REDIS_URL=redis://redis:6379/0
|
||||
- MONGODB_URL=mongodb://admin:password123@mongodb:27017/mydocmanager?authSource=admin
|
||||
volumes:
|
||||
- ./src/worker/tasks:/app
|
||||
- ./volumes/watched_files:/watched_files
|
||||
depends_on:
|
||||
- redis
|
||||
- mongodb
|
||||
networks:
|
||||
- mydocmanager-network
|
||||
command: celery -A main worker --loglevel=info
|
||||
|
||||
volumes:
|
||||
mongodb-data:
|
||||
|
||||
networks:
|
||||
mydocmanager-network:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user