如何从源码运行
这篇讲克隆代码、直接在一台机器上运行服务器,适合要改代码的人。只想跑起来,用 uvx 或 pip 更省事。要用 systemd 长期运行并从别的机器部署,见如何用 deploy.sh 部署。
前提
- uv(它会自己准备 Python 3.11)
- ffmpeg
- Node 22 和 pnpm(构建网页用)
步骤
取得代码并复制配置模板:
bashgit clone https://github.com/suyiiyii/alldayrec && cd alldayrec cp .env.example .env编辑
.env,填 key(见配置项)。构建网页,输出到
server/alldayrec/static/dist:bash(cd web && pnpm install && pnpm build)不构建也能启动,API 照常工作,网页地址只回一句「the web app is not built」。
安装依赖,读入
.env,启动:bashcd server && uv sync && set -a && . ../.env && set +a && uv run alldayrec第一次启动时,日志里有一行
first start: ... open http://127.0.0.1:8770/connect?token=<token>。日志出现ready on 127.0.0.1:8770后,在这台电脑上打开那个链接。
说明
- 服务器从
DATA_DIR/tenants.json读租户(server/alldayrec/tenant.py)。DATA_DIR默认是用户数据目录,文件不存在时第一次启动会生成一个;格式见配置项。 uv run alldayrec和uv run python -m alldayrec是一回事。用ENGINE=local时把uv sync换成uv sync --extra local。HOST默认是127.0.0.1,只有这台机器能访问。反向代理在另一台机器上时,设HOST=0.0.0.0。tenants.json里只有一条、且 token 为空时,服务器不做认证。这样的服务只能放在127.0.0.1上。