Fh
Applications Azure

Frappe Helpdesk on Ubuntu 24.04 on Azure User Guide

| Product: Frappe Helpdesk on Ubuntu 24.04 LTS on Azure

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 cloudimg image installs Helpdesk v1.27.0 on Frappe framework version-15 as a full production deployment - 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 - runs the entire headless install at build time so there is no command-line bootstrap on first use, and rotates the Frappe Administrator password, the site database password and the Frappe encryption key on the first boot of every VM. Backed by 24/7 cloudimg support.

What is included:

  • 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 telephony app installed alongside Helpdesk
  • MariaDB on loopback (Barracuda / utf8mb4 / large packets per Frappe), tuned for a small VM
  • Redis for cache, queue and socketio; 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.service and redis-server.service as systemd units, enabled and active
  • 24/7 cloudimg support

Prerequisites

An active Azure subscription, an SSH key pair, and a VNet plus subnet in the target region. Standard_B2s (2 vCPU / 4 GiB RAM) 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: allow 22/tcp from your management network and 80/tcp for the Helpdesk web interface (front 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 cloudimg, 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 Review + create -> Create.

Step 2 - Deploy from the Azure CLI

az vm create \
  --resource-group <your-rg> \
  --name frappe-helpdesk \
  --image <marketplace-image-urn> \
  --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 1010

Step 3 - Connect to your VM

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, points the site at this VM's public IP, and starts the production stack. Confirm all four systemd services are active:

systemctl is-active mariadb redis-server supervisor nginx

All four services report active, and supervisor runs the Frappe web, socketio, worker and schedule processes.

Frappe Helpdesk service status on Ubuntu 24.04

Confirm the Frappe web tier answers its health endpoint and the Helpdesk UI responds:

curl -s http://127.0.0.1/api/method/ping

Frappe returns {"message":"pong"}. The Helpdesk agent portal is served at /helpdesk:

curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/helpdesk

You can see 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'

Frappe Helpdesk health check and installed apps

Step 5 - Retrieve the Administrator password

The per-VM Administrator password is generated on first boot and written to a root-only credentials file, along with the site URL and login name:

sudo cat /root/frappe-helpdesk-credentials.txt

Per-VM Frappe Helpdesk credentials file

Because these secrets are generated on first boot, no two deployments share the same password, and the vendor default login is rejected:

Frappe Helpdesk secure-by-default login check

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.

Frappe Helpdesk sign-in page

Step 7 - Work with tickets

After signing 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 by ID, subject or customer, and the Create button to raise a new ticket.

Frappe Helpdesk agent tickets list

Open a ticket to see the full conversation. The header shows the SLA timers - first response and resolution due times - and the status; the activity thread holds the customer message and every reply, and you can Reply, add a private Comment, assign the ticket to an agent, and set priority and status.

A Frappe Helpdesk ticket with SLA timers and activity thread

Step 8 - Build your knowledge base

The Knowledge Base section lets you write help articles grouped into categories, publish them, and surface them in the customer portal so customers can self-serve before raising a ticket.

Frappe Helpdesk knowledge base

From here you can also configure SLA policies, teams and agents, canned responses, and the customer portal from the Helpdesk settings.

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 interactively):

sudo apt-get update && sudo apt-get install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.example.com

Certbot 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. Frappe Helpdesk and the framework can be updated 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 applying a major version upgrade. Take a snapshot of the OS disk before any upgrade.

Support

This image is published and supported by cloudimg. Frappe and Helpdesk are trademarks of their respective owners; cloudimg is not affiliated with or endorsed by the Frappe project. For assistance, contact cloudimg support.