BenchPress and Frappe Manager.
Frappe Manager makes your environment easy. BenchPress makes somebody else's easy. The same machinery, one unit apart — and if the only bench you ever need is your own, fm is the better tool.
What Frappe Manager is
One CLI that creates and runs isolated Frappe benches, from rtCamp — an agency with a long Frappe track record — under MIT, installed from PyPI with uv tool install frappe-manager. A single command gives you a bench at <name>.localhost with the database, the web server and the workers already wired together.
It is well made, and it ships things BenchPress does not: Mailpit for catching mail, Adminer for the database, and fm code, which opens the bench in VS Code with a debugger already attached. If you are one developer looking after your own environment, that is a better answer than anything else on this page.
The two, side by side
Read the first five rows as the case for Frappe Manager. It wins them, and it should.
| Frappe Manager | BenchPress | |
|---|---|---|
| Maintained by | rtCamp, an agency with a long Frappe track record | One author. Alpha, and the README says so first |
| Adoption | 414 stars, on PyPI, and in the Frappe manuals people read | New, and small |
| Needs a server | No. A laptop with Docker and Python 3.13 is enough | Yes. One Linux host, plus an existing Frappe v16 bench |
| Production | Yes, and it now describes itself as a production platform | No. Development and demo environments only |
| Mail and database tools | Mailpit and Adminer on every bench, unconfigured | Neither yet. Both are on the list because of `fm` |
| Whose environment it is | Yours. `fm create` builds a bench on the machine you are at | Anyone's. You deploy one for the person who needs it |
| Describing a stack | `fm create <name> --apps ...`, retyped by whoever creates it | A lab template, pinned once to a version and an app list |
| Who can create one | Someone comfortable in a terminal, holding the right flags | Anyone with a login. The bench commands stay in the log |
| Who has access | Whoever has the shell. There is no user model | Roles and ownership: users see their own, admins see everything |
| Reaching the site | `<bench>.localhost` on that machine, a public domain, or an ngrok tunnel | A WireGuard address per environment, one revocable key per device |
| Editing the code | `fm code` opens a local VS Code with a debugger attached | Browser VS Code inside the container that serves the site, shareable |
| When a deploy fails | CLI output, and `fm logs` | The failing step named, in a deploy log kept per run |
Stay with Frappe Manager if
- The bench you need is your own, on the machine in front of you.
- You want mail capture and a database browser without configuring either.
- You have no server to dedicate, and a laptop with Docker is what you have.
- You are heading for production on one host. That is where fm is going, and BenchPress is not.
BenchPress earns its place when
- The environment you have to produce is somebody else's, not your own.
- Four clients means four app stacks, and the person deploying is not the person who chose them.
- The people who need environments should not have to own a terminal — a joiner, an intern, a designer, a client reviewing a build.
- A beta has to be reachable by the team and by nobody else.
- You want to know afterwards who deployed what, and which step failed.
One unit apart
Both tools do the same unglamorous work: resolve an app list, build an image, create the site, install the apps, migrate, build the assets, hand back a URL. fm does it for the machine you are sitting at. BenchPress does it on a server, for whoever asked.
That is the whole difference, and it settles everything else. A tool whose unit is a machine needs no users, no roles, no private address and no audit trail, and Frappe Manager is right not to carry them. A tool whose unit is a person cannot work without them.
Questions people actually ask
Is BenchPress a replacement for Frappe Manager?
No. They work at different scales. Frappe Manager gives one developer a bench on their own machine; BenchPress runs on a server and gives a bench to each person who needs one, with roles, a private address and a teardown button. If the only bench you need is your own, fm is the better tool.
Can I use both?
Yes, and it is a sensible setup. Keep fm on your laptop for your own work, and run BenchPress on the team's server for the environments you hand to other people. Neither one knows or cares about the other.
Frappe Manager ships Mailpit and Adminer. Does BenchPress?
Not yet, and it is a real gap. A BenchPress bench gives you a shell and a browser VS Code session, so a mail catcher and a database client are things you add yourself. Both are on the list, and both got there by reading Frappe Manager.
Frappe Manager calls itself a production platform. Is BenchPress one?
No, and it will not claim to be. BenchPress builds development and demo environments. A lab user holds root inside their own bench, which without a user-namespace boundary is root on the host, and the install page says so before anything runs.
Which is faster to a working bench?
Frappe Manager, the first time, on your own machine — one install and one command. BenchPress is faster for the fifth person: a cached template deploys in about a minute, and nobody after the first has to know what is in it.
See what running it takes.
The preconditions, the real commands and the six things that break on a first install are on one page. If the only bench you ever need is your own, install fm instead — it is a good tool and it is one command away.