Pilot: A new bench with admin UI

Hello all,

As a part of our “cleanup” post agentic coding, the first project we picked was to re-write the bench. The new bench https://github.com/frappe/bench-cli (soon to be renamed as frappe/bench) is like the old bench but with a brand new admin UI

Key features:

  • Stateless flask based admin UI
  • Configuration based - bench.toml
  • No docker - designed for low resource machines
  • Built in marketplace /registry/apps.json
  • Zero dependencies, just add to path and run bench commands
  • Built in ZFS support for snapshot and recovery
  • Opinionated directory structure

Do give it a spin and post your issues (here or on GitHub)

Screenshots

Try it out here: GitHub - frappe/pilot: Frappe Server Manager · GitHub

If this works, we will make this the default bench!

25 Likes

The marketplace is now migrated to the new bench:

7 Likes

I am testing it days ago … works really smooth.

2 Likes

Check out the latest version, lots of polish has been added. Also bench upgrade now fetches the latest updates and restarts the bench as well.

2 Likes

We are now calling this “Pilot” - it is a full blown Frappe Server Manager with support for multiple benches and marketplace.

New features:

  1. Multi bench support
  2. Updated UI - feat: Implement New UI by tanmoysrt · Pull Request #153 · frappe/pilot · GitHub
  3. Postgres + SQLite support
  4. SQL Playground

Updated screenshots:

7 Likes

Is there a provision to manage existing benches ?

No. It has a more opinionated setup with benches residing in the benches folder.

Can I set up different versions of Frappe in separate benches? If yes, could you please guide me or share the steps to do it?

Hi @bittu9835 and welcome to the community

Yes you can but for VM its a real pain as you need to carefully select ports for redis, nginx, etc..

I suggest you use docker at GitHub - rtCamp/Frappe-Manager: The production platform for Frappe/ERPNext. Automatic TLS, versioned migrations, worker orchestration, isolated benches. Everything from a single CLI. · GitHub

fm create benchv15 --apps frappe:version-15 --apps erpnext:version-15
fm create benchv16 --apps frappe:version-16 --apps erpnext:version-16

Hi @asieftejani,

Thank you for your reply and for the suggestion.

Yes, I agree that using Frappe Manager with Docker is a great option. However, my requirement is to set up multiple Frappe versions directly in my local environment using Pilot, mainly for local development and testing purposes.

Hi @bittu9835 ,

You can try the bench manager app as it suits your requirement, you can setup benches with multiple version by just a click of a button. run common bench commands easily too.