services: # ============================================================================= # Backing Services # ============================================================================= - type: redis name: amaniquery-redis plan: free ipAllowList: [] # Internal access only # ============================================================================= # Main Services # ============================================================================= - type: web name: amaniquery-portal runtime: docker plan: free dockerfilePath: services/portal/Dockerfile dockerContext: . envVars: - fromGroup: amaniquery-shared - key: PORT value: 8080 - key: DB_HOST fromDatabase: name: amaniquery-db property: host - key: DB_PORT fromDatabase: name: amaniquery-db property: port - key: DB_USER fromDatabase: name: amaniquery-db property: user - key: DB_PASSWORD fromDatabase: name: amaniquery-db property: password - key: DB_NAME fromDatabase: name: amaniquery-db property: database - key: REDIS_HOST fromService: type: redis name: amaniquery-redis property: host - key: REDIS_PORT fromService: type: redis name: amaniquery-redis property: port - type: web name: amaniquery-ingestion runtime: docker plan: free dockerfilePath: services/ingestion/Dockerfile dockerContext: . envVars: - fromGroup: amaniquery-shared - key: PORT value: 8080 - key: DB_HOST fromDatabase: name: amaniquery-db property: host - key: DB_PORT fromDatabase: name: amaniquery-db property: port - key: DB_USER fromDatabase: name: amaniquery-db property: user - key: DB_PASSWORD fromDatabase: name: amaniquery-db property: password - key: DB_NAME fromDatabase: name: amaniquery-db property: database - key: REDIS_HOST fromService: type: redis name: amaniquery-redis property: host - key: REDIS_PORT fromService: type: redis name: amaniquery-redis property: port - type: web name: amaniquery-agent runtime: docker plan: free dockerfilePath: deployments/docker/Dockerfile.agent dockerContext: . envVars: - fromGroup: amaniquery-shared - key: AMANI_SERVER_HTTP_PORT value: 8080 - key: AMANI_SERVER_GRPC_PORT value: 9090 - key: REDIS_URL fromService: type: redis name: amaniquery-redis property: connectionString - type: web name: amaniquery-retriever runtime: docker plan: free dockerfilePath: deployments/docker/Dockerfile.retriever dockerContext: . envVars: - fromGroup: amaniquery-shared - key: PORT value: 9090 - key: REDIS_URL fromService: type: redis name: amaniquery-redis property: connectionString - key: REDIS_ADDR value: amaniquery-redis:6379 - type: web name: amaniquery-generator runtime: docker plan: free dockerfilePath: deployments/docker/Dockerfile.generator dockerContext: . envVars: - fromGroup: amaniquery-shared - key: PORT value: 9090 - key: REDIS_URL fromService: type: redis name: amaniquery-redis property: connectionString - key: REDIS_ADDR value: amaniquery-redis:6379 # ============================================================================= # Notification Services # ============================================================================= - type: web name: amaniquery-notifications-gateway runtime: docker plan: free dockerfilePath: deployments/docker/Dockerfile.gateway dockerContext: . envVars: - fromGroup: amaniquery-shared - key: PORT value: 9090 - type: web name: amaniquery-notifications-worker runtime: docker plan: free dockerfilePath: services/notifications/Dockerfile.worker dockerContext: . envVars: - fromGroup: amaniquery-shared - key: REDIS_HOST fromService: type: redis name: amaniquery-redis property: host - key: REDIS_PORT fromService: type: redis name: amaniquery-redis property: port - key: REDIS_ADDR value: amaniquery-redis:6379 # ============================================================================= # Frontend Services # ============================================================================= - type: web name: amaniquery-web-app runtime: docker plan: free dockerfilePath: apps/web/Dockerfile dockerContext: frontend envVars: - fromGroup: amaniquery-shared - key: VITE_API_BASE_URL value: https://amaniquery-portal.onrender.com - key: VITE_WS_URL value: wss://amaniquery-portal.onrender.com - key: VITE_SSE_URL value: https://amaniquery-portal.onrender.com/sse - type: web name: amaniquery-developer-portal runtime: docker plan: free dockerfilePath: apps/developer-portal/Dockerfile dockerContext: frontend envVars: - fromGroup: amaniquery-shared - key: VITE_API_BASE_URL value: https://amaniquery-portal.onrender.com - type: web name: amaniquery-admin-portal runtime: docker plan: free dockerfilePath: apps/admin/Dockerfile dockerContext: frontend envVars: - fromGroup: amaniquery-shared - key: VITE_API_BASE_URL value: https://amaniquery-portal.onrender.com - key: VITE_WS_URL value: wss://amaniquery-portal.onrender.com - key: VITE_SSE_URL value: https://amaniquery-portal.onrender.com/sse databases: - name: amaniquery-db plan: free databaseName: amaniquery_portal user: portal_user envVarGroups: - name: amaniquery-shared envVars: - key: ENV value: production - key: LOG_LEVEL value: info # Vector Store (Qdrant) - key: QDRANT_URL sync: false - key: QDRANT_API_KEY sync: false # LLM Providers - key: GEMINI_API_KEY sync: false - key: OPENAI_API_KEY sync: false # Security - key: JWT_SECRET generateValue: true - key: JWT_ISSUER value: amaniquery