feat: 导入 CapacityReport 初始源码

This commit is contained in:
Nixevol
2026-09-24 06:16:41 +08:00
commit 89cca70430
134 changed files with 38799 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
# 一键编排:CapacityReport 应用 + MySQL + sftpgo
# 构建前先在仓库根构建前端:cd frontend && npm ci && npm run build(产出 frontend/dist)
# 然后在本目录:docker compose build && docker compose up -d
services:
capacity-app:
build:
context: ..
dockerfile: Dockerfile
image: capacity-report-app:latest
container_name: capacity-report-app
restart: unless-stopped
ports:
- "9081:9081"
volumes:
- capacity-data:/data
environment:
- TZ=Asia/Shanghai
- PYTHONUNBUFFERED=1
# 首次启动按以下变量初始化 Configure.json 的连接(用户后续在界面改动不被覆盖)
- DB_HOST=capacity-mysql
- DB_PORT=3306
- DB_USER=root
- DB_PASSWD=gmcc123
- MAIN_DB_NAME=CapacityReport
- CELLDATA_DB_NAME=celldata
- SFTP_HOST=sftpgo
- SFTP_PORT=2022
- SFTP_USER=capacity
- SFTP_PASSWD=capacity123
depends_on:
capacity-mysql:
condition: service_healthy
sftpgo:
condition: service_started
networks:
- capacity-network
capacity-mysql:
image: mysql:8.0.44
container_name: capacity-mysql
restart: unless-stopped
ports:
- "13306:3306"
volumes:
- capacity-mysql-data:/var/lib/mysql
- ./mysql/conf.d:/etc/mysql/conf.d:ro
- ./mysql/init:/docker-entrypoint-initdb.d:ro
environment:
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=gmcc123
- MYSQL_DATABASE=CapacityReport
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --local-infile=ON
- --secure-file-priv=
- --max_allowed_packet=256M
- --innodb_buffer_pool_size=512M
- --innodb_log_file_size=128M
- --innodb_flush_log_at_trx_commit=2
- --sync_binlog=0
networks:
- capacity-network
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-pgmcc123"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
sftpgo:
image: drakkan/sftpgo:v2.7.1
container_name: capacity-sftpgo
restart: unless-stopped
ports:
- "2022:2022" # SFTP(上传容量/CellData 数据)
- "18080:8080" # Web 管理后台
environment:
- TZ=Asia/Shanghai
# Web 后台管理员
- SFTPGO_DEFAULT_ADMIN_USERNAME=admin
- SFTPGO_DEFAULT_ADMIN_PASSWORD=gmcc123
# 启动时导入 SFTP 用户(capacity/capacity123);MODE=1 保留文件、每次启动确保用户存在
- SFTPGO_LOADDATA_FROM=/sftpgo-init.json
- SFTPGO_LOADDATA_MODE=1
volumes:
- sftpgo-config:/var/lib/sftpgo
- sftpgo-data:/srv/sftpgo/data
- ./sftpgo/sftpgo-init.json:/sftpgo-init.json:ro
networks:
- capacity-network
networks:
capacity-network:
driver: bridge
volumes:
capacity-mysql-data:
driver: local
capacity-data:
driver: local
sftpgo-config:
driver: local
sftpgo-data:
driver: local