-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathstart_docker.sh
More file actions
executable file
·51 lines (44 loc) · 1.8 KB
/
Copy pathstart_docker.sh
File metadata and controls
executable file
·51 lines (44 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
# 颜色定义
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "${GREEN}🚀 正在启动 笔同 WriterClone 一键部署脚本...${NC}"
# 1. 检查 Docker 环境
if ! command -v docker &> /dev/null; then
echo -e "${RED}❌ 未检测到 Docker,请先安装 Docker Desktop 或 Docker Engine。${NC}"
echo "👉 访问 https://www.docker.com/get-started 下载安装。"
exit 1
fi
# 2. 检查配置文件
if [ ! -f "backend/.env" ]; then
echo -e "${RED}❌ 未检测到 backend/.env 配置文件。${NC}"
echo "⚠️ 请先复制 backend/.env.example 为 backend/.env 并填入 API Key。"
# 尝试自动复制
if [ -f "backend/.env.example" ]; then
echo "👉 正在为您创建默认配置文件..."
cp backend/.env.example backend/.env
echo -e "${GREEN}✅ 已创建 backend/.env,请务必编辑该文件填入 LLM_API_KEY!${NC}"
echo "按任意键继续,或 Ctrl+C 退出编辑..."
read -n 1 -s
else
exit 1
fi
fi
# 3. 构建并启动
echo -e "${GREEN}🐳 正在构建并启动容器 (这可能需要几分钟)...${NC}"
docker-compose up -d --build
if [ $? -eq 0 ]; then
# 4. 初始化数据
echo -e "${GREEN}⚙️ 正在初始化数据库 (创建默认模板和管理员)...${NC}"
# 等待数据库就绪 (简单的 sleep,生产环境可用 wait-for-it)
sleep 5
docker-compose exec -T backend python seed_templates.py
docker-compose exec -T backend python seed_styles.py
docker-compose exec -T backend python create_admin.py
echo -e "${GREEN}✅ 部署成功!${NC}"
echo -e "👉 前端访问地址: http://localhost"
echo -e "👉 后端 API 地址: http://localhost:8000"
else
echo -e "${RED}❌ 部署失败,请检查上方错误日志。${NC}"
fi