Overview
Discover what makes UVDesk powerful
UVDesk is a PHP‑centric, open‑source helpdesk and project management platform designed for self‑hosting. At its core it exposes a robust ticketing engine, multi‑channel communication (email, web forms, marketplace APIs) and an extensible plugin architecture. The system is built around the Symfony framework (v5+) with a modular component structure, allowing developers to inject custom services or replace existing ones without touching the core. Data persistence is handled via Doctrine ORM, supporting MySQL/MariaDB out of the box but easily switchable to PostgreSQL or SQLite through configuration. The front‑end leverages Vue.js for a reactive ticket dashboard, while Twig templates provide server‑side rendering for SEO‑friendly pages.
Multi‑channel ticketing
RESTful API
Event bus & webhooks
Plugin system
Overview
UVDesk is a PHP‑centric, open‑source helpdesk and project management platform designed for self‑hosting. At its core it exposes a robust ticketing engine, multi‑channel communication (email, web forms, marketplace APIs) and an extensible plugin architecture. The system is built around the Symfony framework (v5+) with a modular component structure, allowing developers to inject custom services or replace existing ones without touching the core. Data persistence is handled via Doctrine ORM, supporting MySQL/MariaDB out of the box but easily switchable to PostgreSQL or SQLite through configuration. The front‑end leverages Vue.js for a reactive ticket dashboard, while Twig templates provide server‑side rendering for SEO‑friendly pages.
Key Features
- Multi‑channel ticketing: Native connectors for Gmail, Outlook, and popular marketplaces (Amazon, eBay, Etsy). Developers can write custom channel adapters following the
ChannelInterfacecontract. - RESTful API: Exposes CRUD endpoints for tickets, agents, customers, and workflows. Authentication is token‑based (JWT) and can be scoped per client.
- Event bus & webhooks: Emits domain events (
TicketCreated,AgentAssigned) that can be consumed by external services or internal plugins. Webhook endpoints are configurable per tenant. - Plugin system: A plugin manager loads Composer packages that declare a
uvdesk.plugin.jsondescriptor. Plugins can register routes, services, and database migrations through Symfony bundles. - Workflow engine: Declarative state machines for tickets (Open → Pending → Resolved) with guard conditions, allowing custom transition logic via PHP callbacks.
Technical Stack
| Layer | Technology |
|---|---|
| Backend | PHP 8.1, Symfony 5+, Doctrine ORM |
| Frontend | Vue.js 3 + Vite, Tailwind CSS |
| Database | MySQL/MariaDB (default), PostgreSQL support |
| Search | Elasticsearch integration for full‑text ticket search |
| Messaging | Symfony Messenger (Redis/AMQP) for async email dispatch |
| Containerization | Official Docker images available; Compose files expose services (web, db, redis, elasticsearch) |
| CI/CD | GitHub Actions for linting, unit tests, and Docker image publishing |
Deployment & Infrastructure
UVDesk is intentionally lightweight for on‑premise deployments. A single docker-compose.yml can spin up a complete environment, but for production you should consider:
- Horizontal scaling: Stateless web containers behind a load balancer; shared Redis/Message queue for job queues.
- Database replication: Master‑slave MySQL setup to handle read traffic from ticket search APIs.
- Persistent storage: Docker volumes for media uploads; optional S3‑compatible object store via Flysystem.
- SSL termination: Let’s Encrypt integration through Traefik or Nginx reverse proxy.
The application follows the Twelve‑Factor App principles: environment variables for configuration, externalized secrets, and statelessness of the web tier.
Integration & Extensibility
- Composer‑based plugin ecosystem: Any package that follows the UVDesk plugin contract can be installed via
composer require vendor/uvdesk-plugin. - Custom channel adapters: Implement the
Uvdesk\Channel\ChannelInterfaceand register it in your bundle’s services.yaml. - Webhook listeners: Create Symfony event subscribers that listen to
Uvdesk\Event\TicketEventevents. - API extensions: Override controller actions or add new routes with custom services; the API schema is documented in OpenAPI format.
- Theme overrides: Twig templates can be overridden by placing files in
templates/custom/. CSS can be customized via SCSS variables.
Developer Experience
- Documentation: Comprehensive guides on the official docs site (docs.uvdesk.com) cover API usage, plugin development, and deployment best practices.
- Community: Active Gitter channel, forums, and an Open Collective for sponsorship. The codebase follows PSR‑4 autoloading, making IDE navigation straightforward.
- Testing: PHPUnit test suite with coverage reports; integration tests can be run against a Docker Compose environment.
- Configuration: Symfony’s ParameterBag and
.envfiles allow fine‑grained control over mail servers, marketplace credentials, and feature flags.
Use Cases
- Enterprise support portals: Companies can self‑host UVDesk to retain customer data while providing a modern ticketing interface.
- Marketplace integration: E‑commerce platforms (Shopify, Magento) can plug into UVDesk to centralize order‑related support tickets.
- Custom workflow automation: Developers can script ticket routing rules or auto‑responses using the event system.
- Multi‑tenant SaaS: With proper database sharding and tenant‑aware services, UVDesk can serve as the backbone for a self‑hosted helpdesk SaaS.
Advantages
- Open source & license freedom: MIT‑style license allows unrestricted use, modification, and redistribution.
- High performance: Symfony’s HTTP cache and Doctrine second‑level cache reduce latency; async email dispatch offloads work from the request cycle.
- Extensibility: The plugin system and event bus enable rapid feature addition without core code changes.
- Vendor‑agnostic: Email and marketplace integrations are abstracted, so developers can add new providers with minimal effort.
- Community & support:
Open SourceReady to get started?
Join the community and start self-hosting UVDesk today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Explore More Apps
Geeftlist
Collaborative Self‑Hosted Gift List Manager
AWStats
Advanced web log analytics in a single tool
Fedora Commons Repository
Modular, open‑source digital repository for libraries and archives
Apache OpenMeetings
All-in-one web video conferencing and collaboration platform

RosarioSIS
All-in-one school management for K‑12 and beyond
Openfire
Instant messaging server with XMPP protocol