init: EasyScreen 电子菜单系统

- server: FastAPI 后端(多屏管理、素材上传、节目编排、客户端注册/配置/心跳/崩溃上报、管理台托管)
- android: Java 客户端(minSdk 23,全屏图片/视频轮播、远程配置、开机自启、崩溃上报)
- web: React + Vite + antd 管理台(屏幕/素材/节目管理)
- 屏幕设备 ID 关联机制、gunicorn 生产部署脚本
This commit is contained in:
Tatta
2026-08-12 20:57:55 +08:00
commit 4e2775c8c3
58 changed files with 6451 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
# 生产启动(Linux / 正式环境):gunicorn + UvicornWorker + 日志文件
set -e
cd "$(dirname "$0")/.."
if [ ! -d .venv ]; then
echo "未找到 .venv,请先创建虚拟环境并安装依赖"
exit 1
fi
mkdir -p logs
source .venv/bin/activate
PORT="${PORT:-5889}"
echo "启动 EasyScreen 生产服务,端口 $PORT ..."
gunicorn app.main:app \
-k uvicorn.workers.UvicornWorker \
-b 0.0.0.0:$PORT \
-w 2 \
--daemon \
--pid logs/gunicorn.pid \
--access-logfile logs/access.log \
--error-logfile logs/error.log
sleep 2
if [ -f logs/gunicorn.pid ]; then
echo "已启动 (pid $(cat logs/gunicorn.pid)),日志: logs/access.log"
else
echo "启动失败,请查看 logs/error.log"
fi