88 lines
2.5 KiB
YAML
88 lines
2.5 KiB
YAML
services:
|
|
auth-service:
|
|
build: .
|
|
command: python -m gapido_auth.transport.grpc.server
|
|
environment:
|
|
MONGO_URI: mongodb://mongo:27017
|
|
MONGO_DB_NAME: ${MONGO_DB_NAME:-gapido_auth}
|
|
REDIS_URL: redis://redis:6379/0
|
|
RABBITMQ_URL: amqp://guest:guest@rabbitmq:5672/
|
|
JWT_SECRET_KEY: ${JWT_SECRET_KEY:-change-me-use-a-long-random-secret}
|
|
JWT_ISSUER: ${JWT_ISSUER:-gapido-auth}
|
|
ACCESS_TOKEN_TTL_SECONDS: ${ACCESS_TOKEN_TTL_SECONDS:-900}
|
|
REFRESH_TOKEN_TTL_SECONDS: ${REFRESH_TOKEN_TTL_SECONDS:-604800}
|
|
OTP_TTL_SECONDS: ${OTP_TTL_SECONDS:-120}
|
|
OTP_MAX_ATTEMPTS: ${OTP_MAX_ATTEMPTS:-5}
|
|
OTP_REQUEST_LIMIT: ${OTP_REQUEST_LIMIT:-3}
|
|
OTP_REQUEST_WINDOW_SECONDS: ${OTP_REQUEST_WINDOW_SECONDS:-300}
|
|
SMS_PROVIDER: ${SMS_PROVIDER:-debug}
|
|
KAVENEGAR_LOGIN_TEMPLATE: ${KAVENEGAR_LOGIN_TEMPLATE:-login-otp}
|
|
SMS_IR_VERIFY_TEMPLATE_ID: ${SMS_IR_VERIFY_TEMPLATE_ID:-570574}
|
|
ADMIN_MOBILE: ${ADMIN_MOBILE:-989120000000}
|
|
GRPC_HOST: 0.0.0.0
|
|
GRPC_PORT: 50051
|
|
ports:
|
|
- "50051:50051"
|
|
depends_on:
|
|
mongo:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
|
|
sms-worker:
|
|
build: .
|
|
command: python -m gapido_auth.infrastructure.worker
|
|
environment:
|
|
MONGO_URI: mongodb://mongo:27017
|
|
REDIS_URL: redis://redis:6379/0
|
|
RABBITMQ_URL: amqp://guest:guest@rabbitmq:5672/
|
|
SMS_PROVIDER: ${SMS_PROVIDER:-debug}
|
|
KAVENEGAR_API_KEY: ${KAVENEGAR_API_KEY:-replace-with-real-key}
|
|
SMS_IR_API_KEY: ${SMS_IR_API_KEY:-replace-with-real-key}
|
|
depends_on:
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
|
|
demo-app:
|
|
build: .
|
|
command: uvicorn gapido_auth.demo.app:app --host 0.0.0.0 --port 8080
|
|
environment:
|
|
AUTH_GRPC_TARGET: auth-service:50051
|
|
REDIS_URL: redis://redis:6379/0
|
|
DEMO_ENABLE_DEBUG_OTP: "true"
|
|
ports:
|
|
- "8080:8080"
|
|
depends_on:
|
|
auth-service:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
|
|
mongo:
|
|
image: mongo:7
|
|
ports:
|
|
- "27017:27017"
|
|
volumes:
|
|
- mongo-data:/data/db
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:3.13-management-alpine
|
|
ports:
|
|
- "5672:5672"
|
|
- "15672:15672"
|
|
healthcheck:
|
|
test: ["CMD", "rabbitmq-diagnostics", "check_port_connectivity"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 20
|
|
|
|
volumes:
|
|
mongo-data:
|