How to run from source
This page clones the code and runs the server directly on a machine, for when you want to change the code. To just run it, uvx or pip is quicker. To run it long-term under systemd and deploy it from another machine, see Deploy with deploy.sh.
Prerequisites
- uv (it fetches Python 3.11 itself)
- ffmpeg
- Node 22 and pnpm (to build the web UI)
Steps
Get the code and copy the config template:
bashgit clone https://github.com/suyiiyii/alldayrec && cd alldayrec cp .env.example .envEdit
.envand fill in the keys (see Configuration).Build the web UI into
server/alldayrec/static/dist:bash(cd web && pnpm install && pnpm build)Without it the server still starts and its API works; the page addresses only answer "the web app is not built".
Install the dependencies, load
.envand start the server:bashcd server && uv sync && set -a && . ../.env && set +a && uv run alldayrecAt the first start the log has a line
first start: ... open http://127.0.0.1:8770/connect?token=<token>. Once it showsready on 127.0.0.1:8770, open that link on this computer.
Notes
- The server reads its tenants from
DATA_DIR/tenants.json(server/alldayrec/tenant.py).DATA_DIRdefaults to your user data directory, and a first start makes the file when it is missing; for the format, see Configuration. uv run alldayrecis the same asuv run python -m alldayrec. ForENGINE=local, runuv sync --extra localinstead ofuv sync.HOSTdefaults to127.0.0.1, so only this machine can reach the server. When the reverse proxy runs on another machine, setHOST=0.0.0.0.- When
tenants.jsonhas a single entry and its token is empty, the server does no authentication. Keep such a server on127.0.0.1only.