FRAPPE & ERPNEXT
Every bench, site and app under one console.
Bench environments, site lifecycle and custom apps managed as tracked jobs instead of a terminal and a runbook. Built for the case Talos started from: an agency running ERPNext for a lot of clients at once.
THE MANUAL WAY
Where running Frappe at scale goes wrong.
MIGRATION DAY
Forty client sites need the same app update. You SSH into each bench in turn, and by site nineteen you have lost track of which ones already ran and which failed halfway.
THE RESTORE REQUEST
A client deleted something on Tuesday and wants it back. You have nightly backups somewhere, and no quick way to confirm any of them restore before you promise anything.
THE VERSION DRIFT
Nobody can say which client is on which app version, because the answer lives in eleven separate benches and nowhere else.
WHAT TALOS DOES
The bench workflow, without the bench.
Environment setup
Provision a bench with its Python version, Node, Redis and Supervisor configuration as one idempotent job rather than a page of commands.
Site lifecycle
Create, backup, restore, migrate and drop sites. Each is a job with live output, so a migration that fails tells you where.
App install and rollback
Install, update or roll back custom apps across benches, with the previous revision recorded so reverting is one action.
Fleet-wide version view
Every site, its bench, its app set and its versions in one table. Drift is visible instead of discovered.
Scheduled site backups
Per-site schedules with retention, uploaded off-box, and verified rather than assumed.
Gated destructive actions
Dropping a site or restoring over a live one needs a second person. The gate names the site explicitly.
HOW IT RUNS
Every action is a tracked job.
WHAT MAKES THIS DIFFERENT
One action, forty sites, one place to watch it.
The thing that actually breaks an agency is not any single bench command — it is doing the same command forty times and keeping track. Talos fans a site operation across every bench you select and reports each one independently: which succeeded, which failed, and where. A failure on site nineteen does not stop sites twenty through forty, and it does not disappear into scrollback.
RELATED CAPABILITIES
Start with one bench.
Import an existing bench read-only and see the whole site list before you change anything.