Introduction & Context
What are Frappe deployment packages?
Frappe deployment packages are OS-level packaged builds that install all production dependencies required to run Frappe Framework v15 and ERPNext reliably on servers. These packages simplify deployment by avoiding manual dependency resolution.
They are designed for production environments, not development systems.
Why Use Deployment Packages in Frappe v15?
Deployment packages are recommended when you want:
- Predictable production behavior
- Faster server provisioning
- OS-level dependency stability
- Reduced configuration errors
Unlike development installs, deployment packages enforce tested dependency versions, ensuring long-term reliability.
Supported Operating Systems (Frappe v15)
Frappe Framework v15 officially supports deployment packages on:
| OS | Version |
| Ubuntu | 20.04 LTS |
| Ubuntu | 22.04 LTS |
Other distributions are not officially supported for package-based deployment in v15.
What Do Frappe Deployment Packages Include?
Frappe deployment packages install and configure:
- Python runtime (tested version)
- Node.js (supported LTS)
- Redis (cache & queue)
- MariaDB client libraries
- wkhtmltopdf (PDF generation)
- Supervisor
- Nginx
These components are aligned with Frappe v15 compatibility requirements.
How Frappe Deployment Packages Work
High-level flow:
- Add Frappe APT repository
- Install frappe-bench package
- Initialize bench in production mode
- Create and configure sites
- Enable production services
This approach eliminates the need to manually install Python, Node, Redis, and PDF tools.
Installation Overview (Conceptual)
Exact commands are intentionally excluded here to avoid unsafe copy-paste. Always follow official instructions.
General steps:
- Configure system repositories
- Install Frappe deployment package
- Initialize bench
- Set up production services
This ensures your ERPNext stack follows officially tested paths.
Production vs Development Installation
| Area | Development Install | Deployment Packages |
| Use Case | Local dev / testing | Production |
| Dependency Control | Manual | Managed |
| Stability | Medium | High |
| OS Flexibility | High | Limited |
| Upgrade Safety | Lower | Higher |
Recommendation:
Use deployment packages only for production servers.
Configuration & Setup Considerations
When using deployment packages, you must:
- Run bench in production mode
- Use system services (Supervisor, Nginx)
- Avoid installing Node/Python manually
- Follow Frappe upgrade paths strictly
These constraints are intentional to preserve system stability.
Best Practices for Frappe v15 Deployment
- Always deploy on clean servers
- Avoid mixing development tools with production packages
- Use separate staging and production environments
- Backup MariaDB and site files before upgrades
- Monitor Redis and background workers
Common Pitfalls & Troubleshooting
Installing Node or Python manually
Deployment packages already manage compatible versions.
Using unsupported Ubuntu versions
Only 20.04 / 22.04 are tested.
Mixing Docker and package installs
Choose one deployment strategy only.
Advanced Topic: When NOT to Use Deployment Packages
Avoid deployment packages if:
- You require containerized infrastructure (Docker/Kubernetes)
- You run non-Ubuntu OS
- You need custom runtime versions
In these cases, manual or container-based deployment is preferred.
Target Audience
- ERPNext implementation partners
- DevOps engineers
- System administrators
- SaaS providers using Frappe v15
Technical Prerequisites
- Linux server (Ubuntu LTS)
- Root or sudo access
- Basic Linux administration knowledge
- Understanding of production ERP environments
Summary
Frappe Framework v15 deployment packages provide a safe, stable, and officially supported way to run ERPNext in production. They eliminate dependency chaos and enforce best practices—making them ideal for enterprises and ERP solution providers.
For production ERPNext systems, deployment packages are the recommended path.