123
This commit is contained in:
170
docker-compose.yml
Normal file
170
docker-compose.yml
Normal file
@@ -0,0 +1,170 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# Redis缓存服务
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: weibo-redis
|
||||
ports:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# Nginx反向代理
|
||||
nginx:
|
||||
image: nginx:alpine
|
||||
container_name: weibo-nginx
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
||||
- ./nginx/ssl:/etc/nginx/ssl
|
||||
depends_on:
|
||||
- api-gateway
|
||||
- frontend
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# 前端React应用
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
container_name: weibo-frontend
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- REACT_APP_API_BASE_URL=http://localhost/api/v1
|
||||
depends_on:
|
||||
- api-gateway
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# API网关和主API服务
|
||||
api-gateway:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
target: api_gateway
|
||||
container_name: weibo-api-gateway
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
- DATABASE_URL=mysql+aiomysql://weibo:123456789@XX.XX.XX.XX/weibo
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- JWT_SECRET_KEY=your-super-secret-jwt-key-here
|
||||
- ENVIRONMENT=development
|
||||
depends_on:
|
||||
- redis
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# 认证服务
|
||||
auth-service:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
target: auth_service
|
||||
container_name: weibo-auth-service
|
||||
ports:
|
||||
- "8001:8000"
|
||||
environment:
|
||||
- DATABASE_URL=mysql+aiomysql://weibo:123456789@XX.XX.XX.XX/weibo
|
||||
- JWT_SECRET_KEY=your-super-secret-jwt-key-here
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# 任务调度服务
|
||||
task-scheduler:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
target: task_scheduler
|
||||
container_name: weibo-task-scheduler
|
||||
environment:
|
||||
- DATABASE_URL=mysql+aiomysql://weibo:123456789@XX.XX.XX.XX/weibo
|
||||
- REDIS_URL=redis://redis:6379
|
||||
depends_on:
|
||||
- redis
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# 签到执行Worker
|
||||
signin-executor:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
target: signin_executor
|
||||
container_name: weibo-signin-executor
|
||||
environment:
|
||||
- DATABASE_URL=mysql+aiomysql://weibo:123456789@XX.XX.XX.XX/weibo
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- PROXY_POOL_URL=http://proxy-pool:8080
|
||||
- BROWSER_AUTOMATION_URL=http://browser-automation:3001
|
||||
depends_on:
|
||||
- redis
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# 通知中心服务
|
||||
notification-hub:
|
||||
build:
|
||||
context: ./backend/notification_hub
|
||||
dockerfile: Dockerfile
|
||||
container_name: weibo-notification-hub
|
||||
ports:
|
||||
- "8002:8000"
|
||||
environment:
|
||||
- REDIS_URL=redis://redis:6379
|
||||
depends_on:
|
||||
- redis
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# 浏览器自动化服务
|
||||
browser-automation:
|
||||
build:
|
||||
context: ./backend/browser_automation_service
|
||||
dockerfile: Dockerfile
|
||||
container_name: weibo-browser-automation
|
||||
ports:
|
||||
- "3001:3000"
|
||||
environment:
|
||||
- PLAYWRIGHT_BROWSERS_PATH=/app/browsers
|
||||
volumes:
|
||||
- browser_data:/app/browsers
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# 代理池管理器
|
||||
proxy-pool:
|
||||
build:
|
||||
context: ./elk-stack/proxy_pool
|
||||
dockerfile: Dockerfile
|
||||
container_name: weibo-proxy-pool
|
||||
ports:
|
||||
- "8080:8080"
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
# 浏览器指纹生成器
|
||||
fingerprint-generator:
|
||||
build:
|
||||
context: ./browser_fingerprint_generator
|
||||
dockerfile: Dockerfile
|
||||
container_name: weibo-fingerprint-generator
|
||||
ports:
|
||||
- "8081:8080"
|
||||
networks:
|
||||
- weibo-network
|
||||
|
||||
volumes:
|
||||
redis_data:
|
||||
browser_data:
|
||||
|
||||
networks:
|
||||
weibo-network:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user