version: '2.1' services: db: container_name: db build: ./db_storage mem_reservation: 2G mem_limit: 4G memswap_limit: 8G env_file: - db.env expose: - '3306' command: --default-authentication-plugin=mysql_native_password # database persistence between container reboots volumes: - ./db_storage/data:/var/lib/mysql - ./db_storage/logs:/var/log/mysql restart: always sandbox: container_name: sandbox build: ./sandbox_storage stdin_open: true restart: always queue: container_name: queue build: ./queue_storage mem_limit: 512M env_file: - queue.env entrypoint: ['bash', '/certs/entrypoint.sh'] expose: - 5671 - 5672 volumes: - ./queue_storage:/certs logging: driver: "none" restart: always web: container_name: web build: . mem_reservation: 2G oom_score_adj: -500 mem_limit: 4G memswap_limit: 8G env_file: - web.env - queue.env - db.env entrypoint: ['bash', './entrypoint.sh'] # stdin_open: true # tty: true ports: - '8443:8443' depends_on: - db - queue volumes: - ./queue_storage/client_cert:/etc/ssl/celery_client # usefull for deveopment and hot patching # - ./portal:/portal restart: always