version: "3.7" services: backend: build: context: . dockerfile: app/Dockerfile.prod volumes: - static_volume:/app/staticfiles - media:/app/media environment: ADMIN_USERNAME: "admin" ADMIN_PASSWORD: "password" ADMIN_EMAIL: "admin@example.com" CELERY_BROKER_URL: "amqp://doccano:doccano@rabbitmq" DATABASE_URL: "postgres://doccano:doccano@postgres:5432/doccano?sslmode=disable" ALLOW_SIGNUP: "False" DEBUG: "False" depends_on: - postgres networks: - network-backend - network-frontend celery: build: context: . dockerfile: app/Dockerfile.prod volumes: - media:/app/media entrypoint: ["/opt/bin/prod-celery.sh"] environment: PYTHONUNBUFFERED: "1" CELERY_BROKER_URL: "amqp://doccano:doccano@rabbitmq" DATABASE_URL: "postgres://doccano:doccano@postgres:5432/doccano?sslmode=disable" depends_on: - postgres - rabbitmq networks: - network-backend rabbitmq: image: rabbitmq:3.8 environment: RABBITMQ_DEFAULT_USER: "doccano" RABBITMQ_DEFAULT_PASS: "doccano" ports: - 5672:5672 networks: - network-backend nginx: build: context: . dockerfile: nginx/Dockerfile environment: API_URL: "http://backend:8000" GOOGLE_TRACKING_ID: "" volumes: - static_volume:/static - media:/media ports: - 80:80 depends_on: - backend networks: - network-frontend postgres: image: postgres:13.1-alpine volumes: - postgres_data:/var/lib/postgresql/data/ environment: POSTGRES_USER: "doccano" POSTGRES_PASSWORD: "doccano" POSTGRES_DB: "doccano" networks: - network-backend volumes: postgres_data: static_volume: media: networks: network-backend: network-frontend: