version: "3" services: nginx-proxy: image: jwilder/nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./deploy/docker/reverse_proxy/client_max_body_size.conf:/etc/nginx/conf.d/client_max_body_size.conf:ro migrations: image: mediacms:latest volumes: - ./deploy/docker/local_settings.py:/home/mediacms.io/mediacms/cms/local_settings.py environment: ENABLE_UWSGI: 'no' ENABLE_NGINX: 'no' ENABLE_CELERY_SHORT: 'no' ENABLE_CELERY_LONG: 'no' ENABLE_CELERY_BEAT: 'no' depends_on: redis: condition: service_healthy db: condition: service_healthy web: build: context: . target: runtime-image image: mediacms:latest deploy: replicas: 1 volumes: - ./media_files/:/home/mediacms.io/mediacms/media_files/ - ./static/:/home/mediacms.io/mediacms/static/ - ./deploy/docker/local_settings.py:/home/mediacms.io/mediacms/cms/local_settings.py environment: ENABLE_CELERY_BEAT: 'no' ENABLE_CELERY_SHORT: 'no' ENABLE_CELERY_LONG: 'no' ENABLE_MIGRATIONS: 'no' VIRTUAL_HOST: localhost depends_on: - migrations celery_beat: image: mediacms:latest volumes: - ./deploy/docker/local_settings.py:/home/mediacms.io/mediacms/cms/local_settings.py environment: ENABLE_UWSGI: 'no' ENABLE_NGINX: 'no' ENABLE_CELERY_SHORT: 'no' ENABLE_CELERY_LONG: 'no' ENABLE_MIGRATIONS: 'no' depends_on: - redis celery_worker: image: mediacms:latest deploy: replicas: 1 volumes: - ./media_files/:/home/mediacms.io/mediacms/media_files/ - ./static/:/home/mediacms.io/mediacms/static/ - ./deploy/docker/local_settings.py:/home/mediacms.io/mediacms/cms/local_settings.py environment: ENABLE_UWSGI: 'no' ENABLE_NGINX: 'no' ENABLE_CELERY_BEAT: 'no' ENABLE_MIGRATIONS: 'no' depends_on: - migrations db: image: postgres volumes: - ./postgres_data/:/var/lib/postgresql/data/ restart: always environment: POSTGRES_USER: mediacms POSTGRES_PASSWORD: mediacms POSTGRES_DB: mediacms healthcheck: test: ["CMD-SHELL", "pg_isready -U mediacms"] interval: 10s timeout: 5s retries: 5 redis: image: "redis:alpine" restart: always healthcheck: test: ["CMD", "redis-cli","ping"] interval: 30s timeout: 10s retries: 3