version: '3.5' services: # PostgreSQL database db: build: context: ./_dockerfiles/db dockerfile: Dockerfile hostname: db environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=postgres ports: - "5436:5432" networks: - db-net volumes: - gm-db:/var/lib/postgresql/data/ # RabbitMQ rabbitmq: image: rabbitmq:latest ports: - "5672:5672" # Celery worker: build: . command: ./run_celery.sh environment: - SETTINGS_CONFIGURATION=local - DB_NAME=postgres - DB_USERNAME=postgres - DB_HOSTNAME=db - DB_PORT=5432 - DB_PASSWORD=postgres volumes: - .:/code links: - db - rabbitmq worker_beat: build: . command: ./run_celery_beat.sh environment: - SETTINGS_CONFIGURATION=local - DB_NAME=postgres - DB_USERNAME=postgres - DB_HOSTNAME=db - DB_PORT=5432 - DB_PASSWORD=postgres volumes: - .:/code links: - db - rabbitmq # App: G&M gm_app: build: . command: python manage.py runserver 0.0.0.0:8000 environment: - SETTINGS_CONFIGURATION=local - DB_HOSTNAME=db - DB_PORT=5432 - DB_NAME=postgres - DB_USERNAME=postgres - DB_PASSWORD=postgres depends_on: - db - rabbitmq - worker - worker_beat networks: - app-net - db-net volumes: - .:/code - gm-media:/media-data ports: - "8000:8000" networks: app-net: db-net: volumes: gm-db: name: gm-db gm-media: name: gm-media