version: '3' services: proxy: command: [nginx-debug, '-g', 'daemon off;'] image: nginx ports: - "80:80" volumes: - "./env/development/nginx.conf:/etc/nginx/conf.d/default.conf" depends_on: - app - frontend frontend: build: context: . dockerfile: ./docker/Dockerfile.frontend volumes: - './frontend:/usr/src/app' - '/usr/src/app/node_modules' env_file: - env/development/.env # - env/development/.env.secret app: command: wait-for-it db:5432 --timeout=30 -- flask run --host=0.0.0.0 build: context: . dockerfile: ./docker/Dockerfile.backend volumes: - './backend:/app/backend' env_file: - env/development/.env # - env/development/.env.secret depends_on: - db db: image: postgres:10 volumes: - 'db:/var/lib/postgresql/data' broker: image: rabbitmq:3 hostname: broker tasks: command: wait-for-it broker:5672 --timeout=30 -- dramatiq tasks.jobs --watch . build: context: . dockerfile: ./docker/Dockerfile.backend volumes: - './backend:/app/backend' env_file: - env/development/.env # - env/development/.env.secret depends_on: - broker scheduler: command: wait-for-it broker:5672 --timeout=30 -- python -m tasks.scheduler build: context: . dockerfile: ./docker/Dockerfile.backend volumes: - './backend:/app/backend' env_file: - env/development/.env # - env/development/.env.secret depends_on: - broker acceptance: command: bash -c 'cd /app && behave' build: context: . dockerfile: ./docker/Dockerfile.backend volumes: - './backend:/app/backend' - './features:/app/features' volumes: db: {}