Skip to content

如何从源码运行 ​

这篇讲克隆代码、直接在一台机器上运行服务器,适合要改代码的人。只想跑起来,用 uvx 或 pip 更省事。要用 systemd 长期运行并从别的机器部署,见如何用 deploy.sh 部署。

前提 ​

  • uv(它会自己准备 Python 3.11)
  • ffmpeg
  • Node 22 和 pnpm(构建网页用)

步骤 ​

  1. 取得代码并复制配置模板:

    bash
    git clone https://github.com/suyiiyii/alldayrec && cd alldayrec
    cp .env.example .env
  2. 编辑 .env,填 key(见配置项)。

  3. 构建网页,输出到 server/alldayrec/static/dist:

    bash
    (cd web && pnpm install && pnpm build)

    不构建也能启动,API 照常工作,网页地址只回一句「the web app is not built」。

  4. 安装依赖,读入 .env,启动:

    bash
    cd 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 上。