Install scheduler¶
Install btu_scheduler_py on the host that can reach your site database, Redis, and Frappe web port.
Not a Frappe app
Do not clone into apps/. Bench will treat it as a Frappe application.
Steps (development)¶
python3 -m venv ~/venvs/btu-scheduler
source ~/venvs/btu-scheduler/bin/activate
git clone https://github.com/Datahenge/btu_scheduler_py.git
cd btu_scheduler_py
pip install -e .
# optional: pip install -e ".[development]"
Configure environment — see Scheduler configuration.
Verify CLI:
btu config path
btu config show
Production VPS install¶
For a first-time install on a client VPS (fresh login, nothing installed yet), use
scripts/install-vps.sh from the btu_scheduler_py
repository. It installs uv if missing, installs BTU Scheduler, creates the dedicated
btu-scheduler system user, writes the /etc/btu-scheduler/btu-scheduler.env file, and installs
+ enables the systemd service described in Run the scheduler.
curl -fsSL https://raw.githubusercontent.com/Datahenge/btu_scheduler_py/main/scripts/install-vps.sh \
-o install-vps.sh
chmod +x install-vps.sh
sudo ./install-vps.sh
Run it without arguments for an interactive prompt walking through each setting, or pass
BTU_SCHEDULER_* values as environment variables to run non-interactively. See the script's
--help for the full list.