Files
telegram-management-system/docker-compose.yml
你的用户名 237c7802e5
Some checks failed
Deploy / deploy (push) Has been cancelled
Initial commit: Telegram Management System
Full-stack web application for Telegram management
- Frontend: Vue 3 + Vben Admin
- Backend: NestJS
- Features: User management, group broadcast, statistics

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 15:37:50 +08:00

118 lines
2.4 KiB
YAML

version: '3.8'
services:
# MySQL Database
mysql:
image: mysql:8.0
container_name: tg-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: tg_mysql_root_2024
MYSQL_DATABASE: tg_manage
MYSQL_USER: tg_manage
MYSQL_PASSWORD: tg_manage_pass_2024
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
networks:
- tg-network
# MongoDB
mongodb:
image: mongo:5.0
container_name: tg-mongodb
restart: always
environment:
MONGO_INITDB_DATABASE: tg_manage
ports:
- "27017:27017"
volumes:
- mongo_data:/data/db
networks:
- tg-network
# Redis
redis:
image: redis:7-alpine
container_name: tg-redis
restart: always
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- tg-network
# RabbitMQ
rabbitmq:
image: rabbitmq:3.11-management-alpine
container_name: tg-rabbitmq
restart: always
environment:
RABBITMQ_DEFAULT_USER: admin
RABBITMQ_DEFAULT_PASS: admin123
ports:
- "5672:5672"
- "15672:15672"
volumes:
- rabbitmq_data:/var/lib/rabbitmq
networks:
- tg-network
# Backend Service
backend:
build: ./backend
container_name: tg-backend
restart: always
depends_on:
- mysql
- mongodb
- redis
- rabbitmq
environment:
NODE_ENV: production
# Override config for Docker environment
DB_HOST: mysql
DB_NAME: tg_manage
DB_USER: tg_manage
DB_PASS: tg_manage_pass_2024
MONGO_URL: mongodb://mongodb:27017/tg_manage
REDIS_HOST: redis
REDIS_PORT: 6379
RABBITMQ_URL: amqp://admin:admin123@rabbitmq:5672
ports:
- "3000:3000"
- "3001:3001"
volumes:
- ./uploads:/app/uploads
- ./backend/logs:/app/logs
networks:
- tg-network
# Frontend Service
frontend:
build:
context: ./frontend-vben
dockerfile: apps/web-antd/Dockerfile
container_name: tg-frontend
restart: always
depends_on:
- backend
ports:
- "80:80"
networks:
- tg-network
volumes:
mysql_data:
mongo_data:
redis_data:
rabbitmq_data:
networks:
tg-network:
driver: bridge