Frappe Helpdesk
Overview
Frappe Helpdesk is an open source customer-support and ticketing application built on the Frappe framework. It gives support teams multi-channel ticket capture, agent assignment and teams, SLA policies, a knowledge base, canned responses and a self-service customer portal, all from one web interface.
The SecureAnyCloud image installs Helpdesk v1.27.0 on Frappe framework version-15 as a full production deployment. It runs the entire headless install at build time, so there is no command-line bootstrap on first use. On the first boot of every VM, it rotates the Frappe Administrator password, the site database password and the Frappe encryption key.
The production stack consists of MariaDB, Redis, a Python gunicorn web tier plus a node realtime process, background workers and a scheduler managed by supervisor, and nginx on port 80.
What you get:
- Frappe Helpdesk v1.27.0 on Frappe framework version-15, served on port 80 by nginx in front of a gunicorn web worker.
- The required
telephonyapp, installed alongside Helpdesk. - MariaDB on loopback (Barracuda / utf8mb4 / large packets per Frappe), tuned for a small VM.
- Redis for cache, queue and socketio, and supervisor managing the Frappe web, worker, schedule and socketio processes.
- A unique Administrator password, site database password and Frappe encryption key, generated on first boot, with no default login.
nginx.service,supervisor.service,mariadb.serviceandredis-server.serviceas systemd units, enabled and active.- 24/7 SecureAnyCloud support.
Prerequisites
- An active Azure subscription, an SSH key pair, and a VNet plus subnet in the target region.
- A VM size of Standard_B2s (2 vCPU / 4 GiB RAM), which is the supported minimum. Choose a larger size, such as Standard_B2ms or Standard_D2s_v3, for teams with more agents or higher ticket volume.
- NSG inbound rules that allow
22/tcpfrom your management network and80/tcpfor the Helpdesk web interface. Front the site with TLS for public exposure (see Enabling HTTPS).
Step 1 - Deploy from the Azure Marketplace
Sign in to the Azure Portal, choose Create a resource, search the Marketplace for Frappe Helpdesk by SecureAnyCloud, and select Create.
On Basics, pick your subscription, resource group, region and size. Under Administrator account, choose SSH public key and paste your key. Under Inbound port rules, allow SSH (22) and HTTP (80). Then choose Review + create and Create.
Step 2 - Deploy from the Azure CLI
Accept the Marketplace terms once per subscription, then create the VM and open port 80:
# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:frappe-helpdesk-ubuntu-24-04:default:latest
az vm create \
--resource-group <your-rg> \
--name frappe-helpdesk \
--image sac1647283583153:frappe-helpdesk-ubuntu-24-04:default:latest \
--size Standard_B2s \
--admin-username azureuser \
--ssh-key-values ~/.ssh/id_ed25519.pub \
--vnet-name <your-vnet> --subnet <your-subnet> \
--public-ip-sku Standard
az vm open-port --resource-group <your-rg> --name frappe-helpdesk --port 80 --priority 1010Step 3 - Connect to your VM
Connect over SSH as azureuser:
ssh azureuser@<vm-public-ip>Step 4 - Confirm the Helpdesk stack is running
On first boot, the image rotates the Frappe encryption key, the site database password and the Administrator password. It also points the site at this VM's public IP and starts the production stack. Confirm that all four systemd services are active:
systemctl is-active mariadb redis-server supervisor nginxAll four services report active, and supervisor runs the Frappe web, socketio, worker and schedule processes.
Confirm that the Frappe web tier answers its health endpoint:
curl -s http://127.0.0.1/api/method/pingFrappe returns {"message":"pong"}. Then confirm that the Helpdesk UI responds. The Helpdesk agent portal is served at /helpdesk:
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/helpdeskList the exact installed apps and versions: Frappe framework version-15, telephony and Helpdesk v1.27.0:
sudo -u frappe -H bash -lc 'cd /opt/frappe/frappe-bench && bench --site helpdesk.localhost list-apps'Step 5 - Retrieve the Administrator password
First boot generates the per-VM Administrator password and writes it to a root-only credentials file, along with the site URL and login name:
sudo cat /root/frappe-helpdesk-credentials.txtBecause first boot generates these secrets, no two deployments share the same password, and the vendor default login is rejected.
Step 6 - Sign in to Frappe Helpdesk
Browse to http://<vm-public-ip>/helpdesk and sign in as Administrator with the password from Step 5.
Step 7 - Work with tickets
After you sign in, you land on the agent tickets list. Each ticket shows its ID, subject, customer and status. Use the filters at the top to narrow the list by ID, subject or customer, and use the Create button to raise a new ticket.
Open a ticket to see the full conversation. The header shows the SLA timers, which are the first response and resolution due times, and the status. The activity thread holds the customer message and every reply. From the ticket you can Reply, add a private Comment, assign the ticket to an agent, and set the priority and status.
Step 8 - Build your knowledge base
The Knowledge Base section lets you write help articles grouped into categories and publish them. Published articles appear in the customer portal, so customers can find answers before they raise a ticket.
From the Helpdesk settings you can also configure SLA policies, teams and agents, canned responses and the customer portal.
Enabling HTTPS
For public exposure, front Helpdesk with TLS. Point a DNS A record at the VM's public IP, then issue a certificate with Certbot and the nginx plugin. Run these commands interactively:
sudo apt-get update && sudo apt-get install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.example.comCertbot edits the Frappe nginx site in place and sets up automatic renewal. Allow 443/tcp in your NSG.
Maintenance
The OS keeps receiving security updates through unattended-upgrades. You can update Frappe Helpdesk and the framework with bench as the frappe user (sudo -u frappe -H bash -lc 'cd /opt/frappe/frappe-bench && bench update'). Review the Helpdesk release notes before you apply a major version upgrade, and take a snapshot of the OS disk before any upgrade.
Support
SecureAnyCloud publishes and supports this image. For assistance, contact SecureAnyCloud support.
Frappe and Helpdesk are trademarks of their respective owners. SecureAnyCloud is not affiliated with or endorsed by the Frappe project.
Deploy on Azure
Launch Frappe Helpdesk on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com