Initial commit: 国土空间规划课程智能体 v1.0
单容器 Docker 架构的国土空间规划课程智能问答系统,集成 FastAPI 后端与 Next.js 前端。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
@echo off
|
||||
echo ====================================
|
||||
echo 启动国土空间规划课程智能体
|
||||
echo ====================================
|
||||
echo.
|
||||
|
||||
REM 检查Docker是否运行
|
||||
docker info >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo [错误] Docker未运行,请先启动Docker Desktop
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM 检查.env文件
|
||||
if not exist .env (
|
||||
echo [提示] .env文件不存在,正在从env.example创建...
|
||||
copy env.example .env
|
||||
echo [提示] 请编辑.env文件配置必要的参数(API密钥等)
|
||||
echo.
|
||||
)
|
||||
|
||||
REM 启动服务
|
||||
echo [信息] 正在启动服务...
|
||||
docker-compose up -d
|
||||
|
||||
echo.
|
||||
echo [信息] 服务启动完成!
|
||||
echo.
|
||||
echo 访问地址:
|
||||
echo 前端应用: http://localhost:8001
|
||||
echo 后端API: http://localhost:8000
|
||||
echo API文档: http://localhost:8000/docs
|
||||
echo.
|
||||
echo 查看日志: docker-compose logs -f
|
||||
echo 停止服务: docker-compose down
|
||||
echo.
|
||||
pause
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "===================================="
|
||||
echo "启动国土空间规划课程智能体"
|
||||
echo "===================================="
|
||||
echo
|
||||
|
||||
# 检查Docker是否运行
|
||||
if ! docker info > /dev/null 2>&1; then
|
||||
echo "[错误] Docker未运行,请先启动Docker"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查.env文件
|
||||
if [ ! -f .env ]; then
|
||||
echo "[提示] .env文件不存在,正在从env.example创建..."
|
||||
cp env.example .env
|
||||
echo "[提示] 请编辑.env文件配置必要的参数(API密钥等)"
|
||||
echo
|
||||
fi
|
||||
|
||||
# 启动服务
|
||||
echo "[信息] 正在启动服务..."
|
||||
docker-compose up -d
|
||||
|
||||
echo
|
||||
echo "[信息] 服务启动完成!"
|
||||
echo
|
||||
echo "访问地址:"
|
||||
echo " 前端应用: http://localhost:8001"
|
||||
echo " 后端API: http://localhost:8000"
|
||||
echo " API文档: http://localhost:8000/docs"
|
||||
echo
|
||||
echo "查看日志: docker-compose logs -f"
|
||||
echo "停止服务: docker-compose down"
|
||||
echo
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# 等待数据库就绪(如果使用PostgreSQL)
|
||||
if [ -n "$DATABASE_URL" ] && [[ "$DATABASE_URL" == postgresql* ]]; then
|
||||
echo "Waiting for database to be ready..."
|
||||
until pg_isready -h db -p 5432 -U user; do
|
||||
echo "Database is unavailable - sleeping"
|
||||
sleep 1
|
||||
done
|
||||
echo "Database is ready!"
|
||||
fi
|
||||
|
||||
# 启动supervisor(管理后端和前端进程)
|
||||
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
logfile=/dev/stdout
|
||||
logfile_maxbytes=0
|
||||
pidfile=/var/run/supervisord.pid
|
||||
|
||||
[program:backend]
|
||||
command=/app/.venv/bin/python -m uvicorn main:app --host 0.0.0.0 --port 8000
|
||||
directory=/app
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
environment=PYTHONPATH="/app",PYTHONUNBUFFERED="1"
|
||||
|
||||
[program:frontend]
|
||||
command=node server.js
|
||||
directory=/app/web
|
||||
autostart=true
|
||||
autorestart=true
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
environment=PORT="8001",HOSTNAME="0.0.0.0",NODE_ENV="production"
|
||||
|
||||
Reference in New Issue
Block a user