
volumes:
  medicine-public-data:
    name: medicine-public-data

networks:
  medicine-network:
    external: true

x-common: &common-params
  image: medicine:latest
  restart: always
  env_file:
    - ../.env
    - .env
  volumes:
    - medicine-public-data:/app/public
  networks:
    - medicine-network
  extra_hosts:
    - "sync.med-logic.ru:89.223.70.16"
    - "sentry.med-logic.ru:89.223.70.16"
  logging:
    driver: "json-file"
    options:
      max-size: "5mb"
      max-file: "10"

services:
  app:
    <<: *common-params
    container_name: medicine-app
    environment:
      UWSGI_PROCESSES: ${UWSGI_PROCESSES:-2}
      UWSGI_THREADS: ${UWSGI_THREADS:-4}
    ports:
      - "${NGINX_HTTP_PORT:-80}:80"
      - "${NGINX_HTTPS_PORT:-443}:443"

  tasks:
    <<: *common-params
    container_name: medicine-tasks
    command: /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord-tasks.conf
    environment:
      CELERY_WORKER_CONCURRENCY: ${CELERY_WORKER_CONCURRENCY:-2}
