UV

UVdesk

Open-source helpdesk built on Symfony

Helpdesk & Ticketing ★ 19.6k stars Medium setup MIT

UVdesk is an open-source helpdesk system built on the Symfony framework. It offers ticket management, a knowledge base, email piping, and a customizable workflow engine.

Key features

  • Email piping to tickets
  • Workflow automation
  • Knowledge base module
  • Extensible app marketplace

Pros & cons

Strengths

  • Full ticketing workflow
  • Knowledge base included
  • Email piping support

Trade-offs

  • PHP MySQL stack required
  • Slower development pace

UVdesk replaces

Last reviewed Aug 26, 2026 · 820 words

UVdesk is the self-hosted helpdesk I'd pick when a small support team wants something shaped like Zendesk (agent inbox, ticket statuses, canned replies, a public knowledge base) and is prepared to run a PHP and MySQL stack to get it. It is MIT-licensed, has 19,517 GitHub stars, and its first release was in 2018, so most of the rough edges have already been found. Two honest caveats up front: development moves slowly compared with the commercial products it replaces, and the install is a real Symfony application, not a one-line container with a SQLite file behind it.

Where it sits among self-hosted ticketing tools

The ticketing category splits into shared-inbox tools that treat email threads as tickets and full helpdesks that add a customer portal, agent roles, and a knowledge base. UVdesk is the second kind. Customers get a portal where they open tickets and search articles; agents get an inbox with assignment, priorities, tags, internal notes and saved replies; admins get a workflow engine that fires actions when tickets match conditions. If your support is one person answering email, that is more machinery than you want. If it is three or more agents sharing a queue and repeating the same 20 answers, it earns its keep.

The install is a Symfony app, plan accordingly

UVdesk needs PHP 8 with the usual extensions, Composer, and MySQL or MariaDB. The 512 MB minimum is realistic for a quiet instance; give it 1 GB once PHP-FPM workers and the database are both warm. The source route is the one the project documents most thoroughly:

composer create-project uvdesk/community-skeleton helpdesk

Serve the resulting public/ directory from Nginx or Apache, open it in a browser, and a wizard checks extensions, asks for database credentials, and creates the first admin. Docker images exist and work, but read them as a packaged copy of this same procedure: you still need a MySQL container, a persistent volume for uploads, and a reverse proxy such as Caddy in front for TLS. Set the site URL in the admin panel to the public HTTPS address before inviting anyone, or ticket links in outgoing email will point at whatever hostname the wizard saw.

Email piping is the feature to configure on day one

A helpdesk that cannot receive mail is a fancy form. UVdesk pulls mail from a mailbox over IMAP through its mailbox settings and turns each new thread into a ticket; replies from customers land on the existing ticket by matching the subject reference. Outbound goes through SMTP settings you supply, so a transactional relay or your own mail server both work. Test the loop end to end with a real customer address before launch: send in, reply from the agent view, reply again from the customer side, and confirm all three land where you expect. Most "UVdesk is broken" reports I have seen were an unread IMAP folder or an SMTP sender the relay refused.

Workflows and the marketplace do the heavy lifting

The workflow engine is where the product stops being a mail client. A workflow is a trigger (ticket created, reply added, status changed), conditions (from a domain, containing a word, priority above a threshold), and actions (assign to a group, set status, send a templated reply, add a tag). Ten of those cover most small-team routing. The app marketplace adds modules for things like form builders and channel integrations; the knowledge base module is bundled and worth enabling early, because a searchable article often closes a ticket before it opens.

Slower development is a cost, not a dealbreaker

The commit rate has slowed in recent years, and the release cadence is measured in months. In practice that means fewer new integrations than Zendesk or Freshdesk ship, and occasionally a wait for compatibility with a new PHP minor version. It does not mean abandonment: security fixes land, and the MIT licence means you can patch a template yourself when needed. Weigh that against somewhere between about 15 and 100 dollars per agent per month for the hosted rivals at last check, and it still comes out well ahead for a team that can spare a few hours a quarter for updates.

What I'd do

Run UVdesk on a small VPS or a homelab VM with 1 GB of RAM, MariaDB in its own container, and Caddy for certificates. Configure IMAP piping and SMTP before anything else and prove the loop with a real message. Build five workflows for routing and five saved replies, publish ten knowledge base articles, and only then invite agents. Back up the database and the uploads directory nightly. For one person answering support email, skip it and use a shared mailbox; for a team of three to fifteen agents, it is the most complete free helpdesk you can run yourself.

Compare UVdesk

16 head-to-head comparisons.

Similar helpdesk & ticketing apps