version: '3' services: db: # See https://hub.docker.com/_/postgres image: postgres container_name: postgres environment: - POSTGRES_DB=$POSTGRES_NAME - POSTGRES_USER=$POSTGRES_USER - POSTGRES_PASSWORD=$POSTGRES_PASSWORD rabbitmq: image: rabbitmq:3.7 container_name: rabbitmq celery: build: . container_name: celery command: celery -A newsreader worker --beat --scheduler django --workdir=/app/src/ environment: - POSTGRES_HOST=$POSTGRES_HOST - POSTGRES_NAME=$POSTGRES_NAME - POSTGRES_USER=$POSTGRES_USER - POSTGRES_PASSWORD=$POSTGRES_PASSWORD - DJANGO_SETTINGS_MODULE=newsreader.conf.docker volumes: - .:/app depends_on: - rabbitmq web: build: . container_name: web command: src/entrypoint.sh environment: - POSTGRES_HOST=$POSTGRES_HOST - POSTGRES_NAME=$POSTGRES_NAME - POSTGRES_USER=$POSTGRES_USER - POSTGRES_PASSWORD=$POSTGRES_PASSWORD - DJANGO_SETTINGS_MODULE=newsreader.conf.docker volumes: - .:/app ports: - '8000:8000' depends_on: - db