首次提交:初始化项目代码

This commit is contained in:
sunct
2026-07-31 15:24:14 +08:00
commit 8d3c97bd01
73 changed files with 11720 additions and 0 deletions
+100
View File
@@ -0,0 +1,100 @@
# CloudNest 基础设施 Docker Compose
# CloudNest Infrastructure Docker Compose
# 包含 MySQL / Redis / MinIO 三个基础设施服务
# Contains MySQL / Redis / MinIO infrastructure services
# 启动方式 / Startup:
# docker compose -f docker-compose.infra.yml up -d
# 停止方式 / Stop:
# docker compose -f docker-compose.infra.yml down
# 查看日志 / View logs:
# docker compose -f docker-compose.infra.yml logs -f
# 环境变量说明 / Environment variables:
# DB_HOST - MySQL 主机(默认:容器内主机名 mysql)
# DB_PORT - MySQL 端口(默认:3306
# DB_USER - MySQL 用户(默认:root
# DB_PASSWORD - MySQL 密码(默认:sun900120
# DB_NAME - 数据库名(默认:cloudnest
# REDIS_PORT - Redis 端口(默认:6379
# MINIO_PORT - MinIO API 端口(默认:9000
# MINIO_CONSOLE_PORT - MinIO 控制台端口(默认:9001)
# MINIO_ACCESS_KEY - MinIO 访问密钥(默认:minioadmin
# MINIO_SECRET_KEY - MinIO 秘密密钥(默认:minioadmin
version: "3.8"
services:
mysql:
image: mysql:8.0
container_name: cloudnest-mysql
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:-sun900120}
MYSQL_DATABASE: ${DB_NAME:-cloudnest}
ports:
- "${DB_PORT:-3306}:3306"
volumes:
- mysql-data:/var/lib/mysql
# 可选:挂载初始化脚本目录 / Optional: mount init scripts
# - ./scripts/mysql/init:/docker-entrypoint-initdb.d
networks:
- cloudnest-network
restart: unless-stopped
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-p${DB_PASSWORD:-sun900120}"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
command: --default-authentication-plugin=caching_sha2_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
redis:
image: redis:7-alpine
container_name: cloudnest-redis
ports:
- "${REDIS_PORT:-6379}:6379"
networks:
- cloudnest-network
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
# 可选:挂载 Redis 配置文件 / Optional: mount redis config
# volumes:
# - ./configs/redis.conf:/usr/local/etc/redis/redis.conf
# command: redis-server /usr/local/etc/redis/redis.conf
minio:
image: minio/minio:latest
container_name: cloudnest-minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_ACCESS_KEY:-minioadmin}
MINIO_ROOT_PASSWORD: ${MINIO_SECRET_KEY:-minioadmin}
ports:
- "${MINIO_PORT:-9000}:9000"
- "${MINIO_CONSOLE_PORT:-9001}:9001"
volumes:
- minio-data:/data
networks:
- cloudnest-network
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
volumes:
mysql-data:
name: cloudnest-mysql-data
minio-data:
name: cloudnest-minio-data
networks:
cloudnest-network:
name: cloudnest-network
driver: bridge