Initial commit: OAuth 2.0 인증 시스템 with APISIX API Gateway
- FastAPI 백엔드 + MongoDB + Redis 구성 - React + Vite + TypeScript + shadcn/ui 프론트엔드 - Apache APISIX API Gateway 통합 - Docker Compose 기반 개발 환경 - 3단계 권한 체계 (System Admin, Group Admin, User) - 동적 테마 지원 - 환경별 설정 (dev/vei/prod) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
9
oauth/configs/dev/.env
Normal file
9
oauth/configs/dev/.env
Normal file
@ -0,0 +1,9 @@
|
||||
ENVIRONMENT=dev
|
||||
SECRET_KEY=dev-secret-key-change-in-production
|
||||
MONGODB_URL=mongodb://localhost:27017
|
||||
DATABASE_NAME=oauth_db_dev
|
||||
REDIS_URL=redis://localhost:6379
|
||||
BACKUP_PATH=/var/backups/oauth/dev
|
||||
ARCHIVE_PATH=/var/archives/oauth/dev
|
||||
FRONTEND_URL=http://localhost:5173
|
||||
BACKEND_URL=http://localhost:8000
|
||||
9
oauth/configs/prod/.env
Normal file
9
oauth/configs/prod/.env
Normal file
@ -0,0 +1,9 @@
|
||||
ENVIRONMENT=prod
|
||||
SECRET_KEY=${PROD_SECRET_KEY}
|
||||
MONGODB_URL=${PROD_MONGODB_URL}
|
||||
DATABASE_NAME=oauth_db_prod
|
||||
REDIS_URL=${PROD_REDIS_URL}
|
||||
BACKUP_PATH=/var/backups/oauth/prod
|
||||
ARCHIVE_PATH=/var/archives/oauth/prod
|
||||
FRONTEND_URL=https://oauth.example.com
|
||||
BACKEND_URL=https://api-oauth.example.com
|
||||
9
oauth/configs/vei/.env
Normal file
9
oauth/configs/vei/.env
Normal file
@ -0,0 +1,9 @@
|
||||
ENVIRONMENT=vei
|
||||
SECRET_KEY=${VEI_SECRET_KEY}
|
||||
MONGODB_URL=mongodb://mongodb:27017
|
||||
DATABASE_NAME=oauth_db_vei
|
||||
REDIS_URL=redis://redis:6379
|
||||
BACKUP_PATH=/var/backups/oauth/vei
|
||||
ARCHIVE_PATH=/var/archives/oauth/vei
|
||||
FRONTEND_URL=https://vei-oauth.example.com
|
||||
BACKEND_URL=https://vei-oauth-api.example.com
|
||||
73
oauth/configs/vei/docker-compose.yml
Normal file
73
oauth/configs/vei/docker-compose.yml
Normal file
@ -0,0 +1,73 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mongodb:
|
||||
image: mongo:7.0
|
||||
container_name: vei-oauth-mongodb
|
||||
restart: always
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER}
|
||||
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASSWORD}
|
||||
MONGO_INITDB_DATABASE: oauth_db_vei
|
||||
volumes:
|
||||
- vei_mongodb_data:/data/db
|
||||
networks:
|
||||
- vei-oauth-network
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: vei-oauth-redis
|
||||
restart: always
|
||||
command: redis-server --requirepass ${REDIS_PASSWORD} --appendonly yes
|
||||
volumes:
|
||||
- vei_redis_data:/data
|
||||
networks:
|
||||
- vei-oauth-network
|
||||
|
||||
backend:
|
||||
image: ${NEXUS_URL}/oauth-backend:${VERSION}
|
||||
container_name: vei-oauth-backend
|
||||
restart: always
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
- MONGODB_URL=mongodb://${MONGO_USER}:${MONGO_PASSWORD}@mongodb:27017/oauth_db_vei?authSource=admin
|
||||
- REDIS_URL=redis://:${REDIS_PASSWORD}@redis:6379
|
||||
depends_on:
|
||||
- mongodb
|
||||
- redis
|
||||
networks:
|
||||
- vei-oauth-network
|
||||
|
||||
frontend:
|
||||
image: ${NEXUS_URL}/oauth-frontend:${VERSION}
|
||||
container_name: vei-oauth-frontend
|
||||
restart: always
|
||||
depends_on:
|
||||
- backend
|
||||
networks:
|
||||
- vei-oauth-network
|
||||
|
||||
nginx:
|
||||
image: nginx:alpine
|
||||
container_name: vei-oauth-nginx
|
||||
restart: always
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./nginx/ssl:/etc/nginx/ssl:ro
|
||||
depends_on:
|
||||
- frontend
|
||||
- backend
|
||||
networks:
|
||||
- vei-oauth-network
|
||||
|
||||
volumes:
|
||||
vei_mongodb_data:
|
||||
vei_redis_data:
|
||||
|
||||
networks:
|
||||
vei-oauth-network:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user