Nano Press
Nano Press automates your Frappe/ERPNext deployment from zero to production. Connect your server, pick your version, add official or custom GitHub apps, set your domain, and launch — all in one smooth workflow. Built for quick proof-of-concepts, but powerful enough for real-world
- Author: BuildWithHussain
- Repository: https://github.com/BuildWithHussain/nano_press
- GitHub stars: 76
- Forks: 43
- License: MIT
- Category: Developer Tools
- Maintenance: Minimally Maintained
- Frappe versions: develop
Install Nano Press
bench get-app https://github.com/BuildWithHussain/nano_press
Add the Frappe Gems badge to your README
Maintain Nano Press? Paste this into your README:
[](https://frappegems.com/gems/apps/BuildWithHussain/nano_press)
About Nano Press
Nano Press
Nano Press automates the full lifecycle of a self-hosted Frappe/ERPNext deployment—from connecting a fresh server to shipping production-ready sites. It wraps Ansible automation, server health checks, app management, and site provisioning into a guided workflow that lives inside your Frappe desk.

Why teams choose Nano Press
- Automates server preparation (Docker, Traefik, lets-encrypt) and ongoing health checks.
- Orchestrates benches, sites, and custom apps without leaving the Frappe UI.
- Logs every Ansible run for traceability and surfaces build/deploy notifications in-app and by email.
- Adds optional custom images so repeated deployments are significantly faster.
- Ships with onboarding guides and video walkthroughs so new operators can go live in minutes.
Prerequisites
- Frappe/ERPNext bench where the
nano_pressapp is installed and enabled. - Target VM or bare-metal host (Ubuntu 20.04 LTS or newer recommended) with SSH access.
- User with
sudoprivileges on the target host. - Domain name (optional but required for HTTPS; Nano Press can provision a free
traefik.mesubdomain if you do not have one). - Open ports 22, 80, and 443 on the target network.
> Docker, Docker Compose, Traefik, and other runtime dependencies are installed for you during the server preparation step.
Quick start
- Install the app on your bench:
cd $PATH_TO_YOUR_BENCH bench get-app https://github.com//nano_press.git --branch develop bench install-app nano_press - Log in to your desk as a system manager and open Nano Press from the workspace sidebar.
- Follow the guided onboarding shown below to connect a server, add apps, and launch your site.
Guided onboarding workflow
| Step | What happens | Related doctypes | Watch the walkthrough |
|---|---|---|---|
| 1. Create a Server | Register the host, SSH credentials, and Traefik settings. Nano Press keeps the connection info and prepares the machine with Docker and dependencies. | Server |
Create a Server |
| 2. Verify Server Connection | Trigger an Ansible ping to confirm Nano Press can reach the host. | Server |
Verify Server Connection |
| 3. Add Frappe Apps | Add official or custom GitHub apps you want baked into your bench. Supports private repos via deploy keys. | Apps |
Add Frappe Apps |
| 4. Build Custom Image (optional) | Build a reusable Docker image that includes your chosen apps. Great for staging/prod parity or repeated rollouts. | Custom Image |
Build a Custom Image |
| 5. Deploy Server | Launch a Frappe site with your selected apps, configure domains/SSL, and receive email notifications when it is live. | Frappe Site |
Deploy Your Server |
Accessing a freshly deployed site
- Default URL:
https://(swap for your domain if SSL is configured). - Default credentials:
Administratorand the password set during deployment.
Operations checklist
- Monitor builds: Track progress from the Build Log doctype; Nano Press also raises desk notifications and optional emails when a build or deploy completes.
- Review automation output: Each Ansible run is stored under
Ansible Logfor audit and troubleshooting. - Rerun preparation: If your server drifts, trigger the preparation playbook again from the Server dashboard to reinstall Docker or refresh Traefik certificates.
- Add more sites: Once the server is verified, you can deploy additional benches or sites without repeating the onboarding steps.
Development & contributing
Nano Press uses pre-commit to keep Python, JS, and schema changes linted.
cd apps/nano_press
pre-commit install
Configured hooks include ruff, eslint, prettier, and pyupgrade. Run pre-commit run --all-files before opening a pull request.
Continuous integration
GitHub Actions workflows (located under .github/workflows/) install the app on a test bench, run unit tests on pushes to develop, and execute security/static analysis via Frappe Semgrep rules and pip-audit on pull requests.
Support
- Raise issues or feature requests via GitHub Discussions/Issues.
- Share deployment logs (redacted for secrets) when reporting problems.
- For enterprise onboarding or bespoke automation, reach out to the maintainers listed in the repository metadata.
License
MIT
Related Developer Tools apps for Frappe & ERPNext
- Frappe — Low code web framework for real world applications, in Python and Javascript
- Frappe Docker — Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
- Builder — Craft beautiful websites effortlessly with an intuitive visual builder and publish them instantly
- Bench — CLI to manage Multi-tenant deployments for Frappe apps
- Frappe Ui — A set of components and utilities for rapid UI development
- Press — Full service cloud hosting for the Frappe stack - powers Frappe Cloud
- Gameplan — Open Source Discussions Platform for Remote Teams
- Doppio — A Frappe app (CLI) to magically setup single page applications and Vue/React powered desk pages on your custom Frappe apps.