Open-source help desk software for teams that need ticket operations, mailbox visibility, SLA reporting, and a clean self-hosted deployment path.
Installation | Production | Configuration | Docker Images | Troubleshooting
SafariDesk combines a modern support workspace with a self-hosting-friendly deployment model. The monorepo includes the React frontend, Django backend, Docker Compose stack, Nginx routing, operational scripts, and local documentation sources used for the public docs site.
- Ticket queues with ownership, departments, categories, and SLA-aware operations.
- Real-time operational dashboards for backlog, unassigned work, SLA breaches, workload distribution, reopened tickets, CSAT, and mailbox health.
- Knowledge base, task tracking, reporting, user management, and workspace configuration.
- Mailbox and integration health monitoring for connected support channels.
- WebSocket support for live notification and chat workflows.
- Background job processing with Celery and Redis.
- PostgreSQL with pgvector support for data and AI-enabled workflows.
- Docker Compose deployment with Nginx, frontend, backend, Channels, worker, beat, Redis, and PostgreSQL services.
- Two application images for self-hosting:
safaridesk/safaridesk-frontendandsafaridesk/safaridesk-backend.
Run SafariDesk locally from the repository root:
cp .env.example .env
docker compose pull
docker compose up -d
sh deploy/scripts/migrate.sh
sh deploy/scripts/collectstatic.sh
sh deploy/scripts/create-admin.sh
docker compose exec backend python manage.py safari
docker compose exec backend python manage.py sync_email_templatesOpen SafariDesk at http://localhost.
For a production-ready setup, read the installation guide and production deployment guide before exposing the service publicly.
SafariDesk is designed to run from one repository and one root Compose file.
frontend/ React and Vite application
backend/ Django API, Channels, Celery, migrations, and templates
deploy/ Nginx configs and operational scripts
docs/ Source files for the public documentation site
data/ Local backup and runtime data targets
The default deployment keeps only nginx public. Backend, Channels, PostgreSQL, Redis, worker, and beat stay private on the Docker network.
Use the configuration reference for environment variables, domains, secrets, email, OAuth, AI providers, licensing, and Docker image tags.
The first official release is v1.0.0.
safaridesk/safaridesk-frontend:v1.0.0
safaridesk/safaridesk-backend:v1.0.0
The backend image is reused by the backend, channels, worker, and beat services with different commands.
Read the Docker images and releases guide for image tags, release versioning, upgrades, and rollback notes.
Contributions are welcome. Read the contributing guide before opening issues or pull requests.
Please read the security policy before reporting vulnerabilities.
SafariDesk is released under the terms in the license.


