Deployment and hosting for Frappe and ERPNext
Merge it. It’s live.
Merge a change on GitHub and Espresso builds it, deploys it and updates your site, on your own server or ours. Every release is kept, so going back takes one click.
Merge it. It’s live.
Espresso watches the branch you choose. When a change lands there it builds your app, puts it on your server and applies the update to the site, keeping the previous version in case you want it back.
- CI/CD: Merge the pull request and the rest happens on its own. Push several times in a row and only the newest is deployed. Nobody logs into a server, runs commands, or copies settings across by hand.
- One-click rollback: If a deployment causes trouble, pick the last good one and Espresso puts it back. It won’t roll back to a release that’s missing an app you now use. That returns your app to how it was, not your data, so restore a backup as well if you need that.
- Build and deploy logs: Each release keeps its own build and deployment log, so a failure tells you where it stopped instead of leaving you guessing.
- Self-hosted or managed: Connect a Linux server with Docker that you already have, and your site, database and backups stay on it. Or run on our servers, where each site gets its own containers and database.
WHAT IT DOES
Everything around the deploy, handled.
Every release records the exact commit of each app, so you always know what’s live and can go back to precisely that.
Your database and files are backed up every night, keeping as many as you choose. Download any of them, or upload a backup to restore it. Moving from Frappe Cloud? Start by uploading your backup.
Your site is checked every minute. See whether it’s up over the last day, month and year, on a page you can share.
Use up to three of your own domains per site. Certificates are issued and renewed automatically.
Pick apps and versions from a catalog, or connect a private repository. Apps they depend on are added for you.
On your own server, you get an email before its disk or memory fills up, and old builds are cleared out every night.
STATIC SITES
Your frontends too. Deployed the same way.
Put a React, Vue or other frontend next to your ERPNext. Connect the repository, pick the Node version and package manager (npm, pnpm or yarn), add environment variables and a domain, and every push rebuilds it.
- React
- Vue
- Angular
- Next.js
- Nuxt
- Gatsby
- SvelteKit
- Plain HTML
COMPARED
Self-hosting without the late nights.
| Doing it yourself | Espresso Cloud | |
|---|---|---|
| Deploying a change | Log into the server and run the steps by hand | Merge the pull request |
| Going back | Rebuild the old version by hand | Pick the last good release from the history |
| Knowing what happened | Scroll back through the terminal | A log kept with every release |
| Backups | A scheduled job you write and maintain | On a schedule, with restore built in |
| Where it runs | Your server | Your server or ours |
Questions
Does my data have to live on your servers?
No. Connect your own server and the site, database and backups stay on it. Espresso connects to it to build and deploy, nothing more.
What does going back to a release undo?
Your app, which returns to how it was at that release. Your data is not rolled back, so restore a backup if you need that too.
What starts a deployment?
A change landing on the branch you pick, usually when a pull request is merged. You can also start one by hand.
Which versions are supported?
Frappe and ERPNext v15 and v16, plus other Frappe apps from GitHub, public or private.