chore: add project scaffold
This commit is contained in:
68
docker-compose.yml
Normal file
68
docker-compose.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
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}
|
||||
KAVENEGAR_LOGIN_TEMPLATE: ${KAVENEGAR_LOGIN_TEMPLATE:-login-otp}
|
||||
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/
|
||||
KAVENEGAR_API_KEY: ${KAVENEGAR_API_KEY:-replace-with-real-key}
|
||||
depends_on:
|
||||
rabbitmq:
|
||||
condition: service_healthy
|
||||
|
||||
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:
|
||||
Reference in New Issue
Block a user