mathstutor / docker-compose.yml
ghadgemadhuri92's picture
final updates
3659da9
version: '3.8'
services:
api:
build: .
container_name: mathminds_api
ports:
- "8000:8000"
env_file:
- .env
environment:
- REDIS_URL=redis://redis:6379/0
- MONGO_URI=mongodb://mongo:27017/mathminds
- ENV=production
depends_on:
redis:
condition: service_healthy
mongo:
condition: service_healthy
networks:
- mathminds_net
restart: unless-stopped
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8000/health" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
worker:
build: .
container_name: mathminds_worker
command: celery -A app.worker.celery_app worker --loglevel=info --pool=solo
env_file:
- .env
environment:
- REDIS_URL=redis://redis:6379/0
- MONGO_URI=mongodb://mongo:27017/mathminds
- ENV=production
depends_on:
redis:
condition: service_healthy
mongo:
condition: service_healthy
networks:
- mathminds_net
restart: unless-stopped
frontend:
build:
context: .
dockerfile: frontend/Dockerfile
container_name: mathminds_frontend
ports:
- "8501:8501"
env_file:
- .env
environment:
- BACKEND_URL=http://api:8000
depends_on:
api:
condition: service_healthy
networks:
- mathminds_net
restart: unless-stopped
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8501/_stcore/health" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
redis:
image: redis:alpine
container_name: mathminds_redis
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- mathminds_net
restart: unless-stopped
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
interval: 10s
timeout: 5s
retries: 5
mongo:
image: mongo:latest
container_name: mathminds_mongo
ports:
- "27017:27017"
volumes:
- mongo_data:/data/db
networks:
- mathminds_net
restart: unless-stopped
healthcheck:
test: [ "CMD", "mongosh", "--eval", "db.adminCommand('ping')" ]
interval: 10s
timeout: 5s
retries: 5
n8n:
image: n8nio/n8n:latest
container_name: mathminds_n8n
ports:
- "5678:5678"
environment:
- N8N_HOST=localhost
- N8N_PORT=5678
- N8N_PROTOCOL=http
- NODE_ENV=production
- WEBHOOK_URL=http://localhost:5678/
volumes:
- n8n_data:/home/node/.n8n
networks:
- mathminds_net
restart: unless-stopped
networks:
mathminds_net:
driver: bridge
volumes:
redis_data:
mongo_data:
n8n_data: