services: broker_db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: ${BROKER_DB_NAME:-qortal_broker} POSTGRES_USER: ${BROKER_DB_USER:-qortal_broker} POSTGRES_PASSWORD: ${BROKER_DB_PASSWORD:-qortal_brokerpass} volumes: - broker_db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${BROKER_DB_USER:-qortal_broker} -d ${BROKER_DB_NAME:-qortal_broker}"] interval: 10s timeout: 5s retries: 10 broker: build: context: ${BROKER_BUILD_CONTEXT:-./services/qortal-oidc-broker} dockerfile: Dockerfile restart: unless-stopped depends_on: broker_db: condition: service_healthy ports: - "127.0.0.1:${BROKER_PORT:-3000}:3000" environment: PORT: 3000 NEXTCLOUD_BASE_URL: ${NEXTCLOUD_BASE_URL} NEXTCLOUD_PUBLIC_URL: ${NEXTCLOUD_PUBLIC_URL} NEXTCLOUD_SERVICE_USER: ${NEXTCLOUD_SERVICE_USER} NEXTCLOUD_SERVICE_PASSWORD: ${NEXTCLOUD_SERVICE_PASSWORD} BROKER_DATABASE_URL: ${BROKER_DATABASE_URL} QORTAL_EXTERNAL_AUTH_BASE_URL: ${QORTAL_EXTERNAL_AUTH_BASE_URL} QORTAL_EXTERNAL_AUTH_APP_ID: ${QORTAL_EXTERNAL_AUTH_APP_ID} QORTAL_EXTERNAL_AUTH_APP_SECRET: ${QORTAL_EXTERNAL_AUTH_APP_SECRET} BROKER_INTERNAL_API_TOKEN: ${BROKER_INTERNAL_API_TOKEN} BROKER_CORS_ALLOWED_ORIGINS: ${BROKER_CORS_ALLOWED_ORIGINS} OIDC_ISSUER: ${OIDC_ISSUER} OIDC_CLIENT_ID: ${OIDC_CLIENT_ID} OIDC_CLIENT_SECRET: ${OIDC_CLIENT_SECRET} OIDC_REDIRECT_URI_ALLOWLIST: ${OIDC_REDIRECT_URI_ALLOWLIST} OIDC_POLICY_MODE: ${OIDC_POLICY_MODE} OIDC_AUTO_PROVISION_GUARD: ${OIDC_AUTO_PROVISION_GUARD} OIDC_INVITE_TTL_SECONDS: ${OIDC_INVITE_TTL_SECONDS} OIDC_AUTH_REQUEST_TTL_SECONDS: ${OIDC_AUTH_REQUEST_TTL_SECONDS} OIDC_AUTH_CODE_TTL_SECONDS: ${OIDC_AUTH_CODE_TTL_SECONDS} OIDC_ACCESS_TOKEN_TTL_SECONDS: ${OIDC_ACCESS_TOKEN_TTL_SECONDS} OIDC_ID_TOKEN_TTL_SECONDS: ${OIDC_ID_TOKEN_TTL_SECONDS} OIDC_LOGIN_LOGO_URL: ${OIDC_LOGIN_LOGO_URL} OIDC_PRIVATE_KEY_PEM: ${OIDC_PRIVATE_KEY_PEM} OIDC_KEY_ID: ${OIDC_KEY_ID} volumes: broker_db_data: