Unattended script for ERPNext installation (Supports Versions 13, 14, 15, and Develop).
This is a comprehensive, interactive script for installing ERPNext Versions 13, 14, 15, and the develop branch. You can set up either development or production environments with enhanced features including intelligent additional apps installation, comprehensive logging, and smart branch detection.
- Develop Branch Support: Added comprehensive warnings and support for the bleeding-edge develop branch
- Intelligent Additional Apps Installation: Automated discovery and installation of 50+ compatible Frappe apps
- Smart Branch Detection: Automatically detects and uses the best available branch for each app
- Improved Error Handling: Multiple installation strategies and graceful fallbacks
- Better User Experience: Clearer prompts, progress indicators, and informative messages
- Additional Apps Marketplace: Browse and install from 50+ curated Frappe applications
- Compatibility Checking: Automatic validation for ERPNext v15/develop (pyproject.toml requirements)
- Branch Intelligence: Frappe apps use appropriate version branches, third-party apps use default branches
- Installation Strategies: Multiple fallback methods for app installation (setup.py extraction, name transformations, directory scanning)
Make sure you install the latest package versions by updating system packages if you are running this script on a fresh Ubuntu machine.
sudo apt update && sudo apt -y upgrade
and then reboot your machine
Do not run this script as root as it will fail when setting up the site. If your VPS default user is root, create a non-root user by following these steps:
- Create a new user (you can change frappeuser to your preferred user name):
sudo adduser frappeuser
Full Name []: frappeuser
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y]
- Add the user to sudoers:
usermod -aG sudo frappeuser
- Switch to created user:
su frappeuser
- Ensure you're on created user's home directory:
cd /home/frappeuser
- Continue with the next steps below.
- Clone the Repository:
git clone https://github.com/flexcomng/erpnext_quick_install.git
- Navigate to the folder:
cd erpnext_quick_install
- Make the script executable:
chmod +x erpnext_install.sh
- Run the script:
source erpnext_install.sh
Supported Operating Systems:
- Ubuntu 24.04 LTS
- Ubuntu 23.04 LTS
- Ubuntu 22.04 LTS
- Ubuntu 20.04 LTS
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
- Debian 10 (Buster)
Version-Specific Requirements:
- ERPNext v15/Develop: Ubuntu 22.04+ or Debian 12+ only
- ERPNext v13/v14: Ubuntu 22.04 and below, Debian 11 and below
Installing multiple ERPNext versions (e.g., v15 + develop, or v14 + v15) on the same server can cause:
- Redis port conflicts (develop uses ports 11000, 12000, 13000 vs standard 6379)
- Node.js version conflicts (v13/v14 use Node 16, v15/develop use Node 18/20)
- Supervisor configuration conflicts (different service management approaches)
- Database schema incompatibilities (version-specific database changes)
- Python dependency conflicts (different package version requirements)
- System instability and service failures
Recommended Approach:
- One ERPNext version per server/container
- Use separate servers for production and development environments
- Backup and completely remove existing installations before installing different versions
- Use Docker containers for isolated testing of different versions
The script automatically detects existing installations and warns about potential conflicts.
The develop branch contains bleeding-edge, experimental code that:
- Changes daily and may be unstable
- Can cause data corruption or system crashes
- Is NOT suitable for production or important data
- Has limited community support
Recommended for: Experienced developers testing new features
Better alternatives: Version 15 (stable) or Version 14 (proven)
When installing additional Frappe apps, please note:
- App compatibility may vary between ERPNext versions
- Some apps might fail to install due to version mismatches or missing dependencies
- Third-party apps use their own versioning schemes
- Installation success is not guaranteed for all environments
- 50+ Curated Apps: Access to a comprehensive collection of Frappe applications
- Official Frappe Apps: HRMS, CRM, LMS, Insights, Builder, Drive, Helpdesk, and more
- Third-Party Apps: Community-developed applications for various business needs
- Smart Selection: Interactive dialog for easy app selection
- Compatibility Checking: Automatic validation for ERPNext v15/develop requirements
- Repository Scanning: Fetches app list from awesome-frappe repository
- Compatibility Validation: Checks for pyproject.toml requirements (v15/develop)
- Branch Detection: Automatically selects the best available branch for each app
- Multiple Installation Strategies: Falls back through different installation methods
- Comprehensive Reporting: Detailed success/failure reporting with error details
- HR & Payroll: HRMS, Employee management tools
- Sales & CRM: Customer relationship management, lead tracking
- Learning & Education: LMS, course management systems
- Project Management: Task tracking, time management
- E-commerce: Online store integrations
- Accounting & Finance: Additional financial modules
- Communication: Chat, messaging, collaboration tools
- And many more!
Gavin D'Souza (@gavindsouza) - Creator and maintainer of awesome-frappe
The additional apps feature is powered by the awesome-frappe repository, a comprehensive collection of Frappe applications and resources that is community-maintained and regularly updated. This curated list makes discovering quality Frappe apps much easier for the entire community.
Repository: https://github.com/gavindsouza/awesome-frappe
Thank you Gavin for your valuable contribution to the Frappe ecosystem! π
Major Features Added:
- β¨ Develop branch support with comprehensive warnings
- πͺ Additional apps marketplace with 50+ applications
- π§ Intelligent branch detection for Frappe apps
- π Multiple installation strategies with fallbacks
- π― Smart compatibility checking for v15/develop
- πΌοΈ Improved user interface with better prompts and progress indicators
Technical Improvements:
- π Git branch detection using
git ls-remote
- π Setup.py parsing for accurate app names
- π·οΈ Name transformation strategies for installation
- π Directory scanning for app detection
- π‘οΈ Enhanced error handling and recovery
- π Comprehensive installation reporting
User Experience:
- π¬ Clearer installation prompts and confirmations
β οΈ Appropriate warnings for risky operations- π¨ Better visual formatting and colors
- π Progress indicators during long operations
- π Detailed success/failure summaries
Core Features:
- β ERPNext versions 13, 14, 15 support
- β Production and development environment setup
- β MariaDB configuration and security
- β Node.js and Python environment management
- β SSL certificate installation with Certbot
- β Basic HRMS installation option
You can always install additional apps manually after the initial setup:
cd /path/to/frappe-bench
bench get-app <app-url>
bench --site <site-name> install-app <app-name>
If you encounter Redis connection errors (Error 111 connecting to 127.0.0.1:11001):
For ERPNext v15:
cd /path/to/frappe-bench
bench setup socketio
bench setup supervisor
bench setup redis
sudo supervisorctl reload
For all versions:
# Restart Redis service
sudo systemctl restart redis-server
# Restart all supervisor services
sudo supervisorctl restart all
# Check Redis status
sudo systemctl status redis-server
Check Redis configuration:
# Verify Redis is running on default port
redis-cli ping
# Check what ports Redis is using
sudo netstat -tlnp | grep redis
- ERPNext Documentation: https://docs.erpnext.com
- Frappe Framework Documentation: https://frappeframework.com/docs
- Awesome Frappe: https://github.com/gavindsouza/awesome-frappe
- ERPNext GitHub: https://github.com/frappe/erpnext
- Frappe GitHub: https://github.com/frappe/frappe
This script is provided as-is for the ERPNext community. Please ensure you comply with the licenses of ERPNext, Frappe Framework, and any additional apps you install.
Enjoy using ERPNext! π
For support and issues, please check the ERPNext community forum or GitHub issues.