networks: horeca: driver: bridge volumes: pg_data: null services: nginx: networks: - horeca ports: - ${PORT:-8001}:80 volumes: - ./resources/layout/nginx.conf:/etc/nginx/nginx.conf - ./resources/:/usr/share/nginx/html/resources/ build: context: . dockerfile: ./docker/Dockerfile.nginx depends_on: - web restart: always web: networks: - horeca build: context: . dockerfile: ./docker/Dockerfile.web command: ${COMMAND:-sh ./resources/scripts/entrypoint.sh} environment: - PYTHONPYCACHEPREFIX=/var/cache/pycache volumes: - './:/code' depends_on: - db - redis restart: always db: image: postgres:17 networks: - horeca environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_DB: ${POSTGRES_DB} volumes: - pg_data:/var/lib/postgresql/data restart: always redis: networks: - horeca image: redis restart: always celery: build: context: . dockerfile: ./docker/Dockerfile.web command: celery -A config worker --loglevel=info volumes: - "./:/code" depends_on: - redis - web networks: - horeca environment: - CELERY_BROKER_URL=redis://redis:6379/0 - CELERY_RESULT_BACKEND=redis://redis:6379/0 restart: always