version: '2' services: # Redis redis: image: redis ports: - "6379:6379" # ELS elasticsearch: image: elasticsearch:5.6.5 ports: - "9200:9200" volumes: - ./data:/usr/share/elasticsearch/data # API unicef-backend: image: unicef-backend build: context: . dockerfile: Dockerfile stdin_open: true tty: true env_file: .env volumes: - ./unicef_backend:/app - ./preprocess/actions.json:/app/actions.json - ./preprocess/runs.csv:/app/runs.csv ports: - "5000:5000" depends_on: - elasticsearch links: - redis:redis entrypoint: ["python", "manage.py", "runserver", "--host", "0.0.0.0", "--port", "5000", "--debug"] # Celery worker worker: image: unicef-backend build: context: . dockerfile: Dockerfile env_file: .env volumes: - ./unicef_backend:/app depends_on: - redis - elasticsearch links: - redis:redis - elasticsearch:elasticsearch entrypoint: ["celery", "-A", "celery_worker:celery", "worker", "--loglevel=DEBUG"] # Celery beat beat: image: unicef-backend build: context: . dockerfile: Dockerfile env_file: .env volumes: - ./unicef_backend:/app depends_on: - redis links: - redis:redis entrypoint: ["celery", "-A", "celery_worker:celery", "beat", "--loglevel=INFO"]