# compose config on latest release builds services: ray-head: user: "0" container_name: ray-head image: icr.io/quantum-public/qiskit-serverless/ray-node:${VERSION:-0.32.0} entrypoint: [ "ray", "start", "--head", "--port=6379", "--dashboard-host=0.0.0.0", "--block" ] environment: - OTEL_ENABLED=1 - OTEL_EXPORTER_OTLP_HOST=http://jaeger - OTEL_EXPORTER_OTLP_PORT=4317 - OTEL_EXPORTER_OTLP_INSECURE=1 - QS_OT_RAY_TRACER=1 ports: - 8265:8265 volumes: - host-shm:/dev/shm - program-artifacts:/data networks: - safe-tier postgres: image: postgres environment: POSTGRES_DB: serverlessdb POSTGRES_USER: serverlessuser POSTGRES_PASSWORD: serverlesspassword networks: - safe-tier ports: - 5432:5432 restart: always healthcheck: test: ["CMD-SHELL", "pg_isready -U serverlessuser -d serverlessdb"] interval: 1s timeout: 5s retries: 5 gateway: container_name: gateway image: icr.io/quantum-public/qiskit-serverless/gateway:${VERSION:-0.32.0} command: python manage.py runserver 0.0.0.0:8000 ports: - 8000:8000 user: "root" # root user is needed to write on volumes environment: - DEBUG=0 - RAY_HOST=http://ray-head:8265 - RAY_CLUSTER_MODE_LOCAL=true - DJANGO_SUPERUSER_USERNAME=admin - DJANGO_SUPERUSER_PASSWORD=123 - DJANGO_SUPERUSER_EMAIL=admin@noemail.com - SITE_HOST=http://gateway:8000 - SETTINGS_AUTH_MECHANISM=mock_token - DATABASE_HOST=postgres - DATABASE_PORT=5432 - DATABASE_NAME=serverlessdb - DATABASE_USER=serverlessuser - DATABASE_PASSWORD=serverlesspassword - OTEL_ENABLED=1 - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://jaeger:4317 - OTEL_EXPORTER_OTLP_TRACES_INSECURE=1 networks: - safe-tier volumes: - program-artifacts:/usr/src/app/media/ depends_on: postgres: condition: service_healthy scheduler: user: "root" # root user is needed to write on volumes container_name: scheduler image: icr.io/quantum-public/qiskit-serverless/gateway:${VERSION:-0.32.0} entrypoint: "./entrypoint-scheduler.sh" environment: - DEBUG=0 - DATABASE_HOST=postgres - DATABASE_PORT=5432 - DATABASE_NAME=serverlessdb - DATABASE_USER=serverlessuser - DATABASE_PASSWORD=serverlesspassword - RAY_LOCAL_HOST=http://ray-head:8265 - RAY_CLUSTER_MODE_LOCAL=true - SETTINGS_AUTH_MECHANISM=mock_token - OTEL_ENABLED=1 - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://jaeger:4317 - OTEL_EXPORTER_OTLP_TRACES_INSECURE=1 networks: - safe-tier volumes: - program-artifacts:/usr/src/app/media/ depends_on: postgres: condition: service_healthy prometheus: image: prom/prometheus:v2.44.0 profiles: [ "full" ] ports: - 9000:9090 loki: image: grafana/loki:2.8.4 profiles: [ "full" ] ports: - 3100:3100 command: -config.file=/etc/loki/local-config.yaml networks: - safe-tier promtail: image: grafana/promtail:2.8.4 profiles: [ "full" ] volumes: - host-log:/var/log command: -config.file=/etc/promtail/config.yml networks: - safe-tier grafana: image: grafana/grafana:latest profiles: [ "full" ] ports: - 3000:3000 networks: - safe-tier jaeger: image: jaegertracing/all-in-one:latest profiles: [ "full" ] environment: - COLLECTOR_OTLP_ENABLED=true ports: - 16686:16686 - 4317:4317 - 4318:4318 networks: - safe-tier networks: safe-tier: volumes: program-artifacts: host-shm: host-log: