Prerequisites
Before you begin, ensure you have:- Python 3.14 or higher
- Node.js 18 or higher
- MariaDB 10.8+
- Redis
- Git
- Yarn package manager
Installation Steps
Install Frappe Bench
Follow the official Frappe Framework Installation Guide to set up a
frappe-bench directory.This will install the Frappe Framework and configure your development environment with all necessary dependencies.Start the Frappe server
Navigate to your bench directory and start the development server:This starts multiple services:
- Web server on port 8000
- SocketIO server for real-time updates
- Redis queues for background jobs
- Scheduler for cron jobs
Create a new site
In a separate terminal, create a new site for development:You’ll be prompted to set the MySQL root password and create an administrator password.
Map site to localhost
Add the site to your hosts file for easy access:This allows you to access the site at
http://helpdesk.test:8000Install Telephony app
Frappe Helpdesk requires the Telephony app as a dependency:This clones the Telephony app into
frappe-bench/apps/telephonyInstall Helpdesk on your site
Install the Helpdesk app on your site:This installs all DocTypes, creates database tables, and runs setup scripts.
Frontend Development Setup
For active frontend development with hot module replacement (HMR):Install dependencies
Start the Vite dev server
The Frappe backend server (
bench start) must remain running while developing the frontend. The Vite dev server proxies API requests to the backend server on port 8000.Project Structure
Understanding the project layout:Common Development Tasks
Migrate database changes
After pulling updates or modifying DocTypes:Clear cache
If you encounter stale data or weird behavior:Restart the server
After modifying Python code:Rebuild frontend
To create a production build:Console access
Access the Frappe console for debugging:Run tests
Execute the test suite:Debugging
Backend debugging
- Add
print()statements or usefrappe.log_error()in Python code - Create a debug file at
helpdesk/debug.py: - Run with:
Frontend debugging
- Use browser DevTools
- Vue DevTools extension for component inspection
- Check the Vite dev server terminal for build errors
- Review Network tab for API request/response
Compatibility
| Helpdesk Branch | Compatible Frappe Version |
|---|---|
| main | version-15, version-16 |
| develop | develop branch |
Next Steps
- Review the Architecture Overview to understand the system design
- Explore the API documentation for backend endpoints
- Check the Contributing Guidelines on GitHub
Troubleshooting
Port conflicts
If port 8000 or 8080 is already in use, you can configure different ports infrappe-bench/sites/common_site_config.json
Database connection errors
Verify MariaDB is running and the credentials infrappe-bench/sites/helpdesk.test/site_config.json are correct.