Overview
Discover what makes FreeScout powerful
FreeScout is a self‑hosted, open‑source help desk built from the ground up in **PHP** using the **Laravel 8+ framework**. It exposes a REST‑style API, a WebSocket layer for real‑time updates, and a well‑structured plugin system that lets developers extend core functionality without touching the kernel. The application is designed to run on any LAMP stack (Apache/Nginx, MySQL/MariaDB) and can be containerized with Docker or orchestrated via Kubernetes for horizontal scaling. Its architecture follows Laravel’s MVC pattern, with Eloquent ORM handling data persistence and Blade templates rendering a responsive, mobile‑first UI.
Language & Framework
Database
Frontend
Mail & Exchange
Overview
FreeScout is a self‑hosted, open‑source help desk built from the ground up in PHP using the Laravel 8+ framework. It exposes a REST‑style API, a WebSocket layer for real‑time updates, and a well‑structured plugin system that lets developers extend core functionality without touching the kernel. The application is designed to run on any LAMP stack (Apache/Nginx, MySQL/MariaDB) and can be containerized with Docker or orchestrated via Kubernetes for horizontal scaling. Its architecture follows Laravel’s MVC pattern, with Eloquent ORM handling data persistence and Blade templates rendering a responsive, mobile‑first UI.
Technical Stack
- Language & Framework: PHP 7.4+ / Laravel 8/9, which provides built‑in authentication, routing, and service container features.
- Database: MySQL/MariaDB; schema migrations are versioned in Git and can be applied via Artisan. Optional support for PostgreSQL exists through community modules.
- Frontend: Vue.js 3 with Alpine.js for lightweight interactivity; Tailwind CSS powers the responsive design. The UI communicates with the backend via Axios, enabling real‑time ticket updates through Laravel Echo and Pusher‑compatible WebSocket servers.
- Mail & Exchange: IMAP/SMTP integration for email tickets, with support for Microsoft Exchange via OAuth2 (Outlook.com / Office 365).
- APIs & Webhooks: RESTful endpoints for tickets, users, mailboxes, and agents; webhook hooks for external services (e.g., Slack, Zapier). Custom endpoints can be added through the plugin system.
Core Capabilities
- Ticket Lifecycle Management: Create, update, merge, and forward tickets; auto‑reply templates; internal notes; status transitions; SLA tracking.
- Real‑time Collaboration: Collision detection and live ticket list refreshes using WebSockets; push notifications via Firebase Cloud Messaging.
- Multilingual & Accessibility: Full i18n support with 25+ locales; WCAG‑compliant UI and screen reader friendliness.
- Security Focus: CSRF protection, role‑based access control (RBAC), audit logs, and built‑in rate limiting. The codebase is regularly audited and follows Laravel’s security best practices.
- Extensibility: A plugin architecture that exposes events (
ticket.created,user.updated) and services. Developers can ship modules as Composer packages, adding routes, migrations, and UI components.
Deployment & Infrastructure
FreeScout is a pure PHP application; it runs on any web server that supports PHP 7.4+ and Composer. For production, a typical stack includes:
- Web Server: Nginx or Apache with FastCGI.
- Database: MySQL 8+ (recommended) or MariaDB 10.4+.
- Cache: Redis for session and queue handling; optional Memcached.
- Queue Driver:
database,redis, orsqsfor background jobs (e.g., email sending, webhook callbacks). - Containerization: Official Docker images are available; a Compose file can spin up web, worker, and queue containers. Kubernetes manifests (Helm chart) are in the community repository for large‑scale deployments.
Scalability is achieved by horizontally scaling the web and worker containers behind a load balancer, while the database can be read‑replicated. Because FreeScout uses Laravel’s cache and queue abstractions, swapping Redis for a managed service (e.g., AWS ElastiCache) is straightforward.
Integration & Extensibility
- Plugins: Packages can hook into the service container, add new menu items, or override Blade views. The plugin system is documented in the
docs/plugins.mdfile. - Webhooks: External services can subscribe to ticket events via the
/api/webhookendpoint. Incoming webhooks are processed by a queue worker, ensuring non‑blocking operations. - SDKs & Clients: While no official SDK exists, the REST API follows JSON‑API conventions, making it easy to consume with any HTTP client. Community SDKs for Python and Node.js are available on GitHub.
- Custom Fields & Forms: Developers can add arbitrary metadata to tickets and users through the admin UI or via migration scripts, enabling integration with CRMs or custom dashboards.
Developer Experience
The project follows Laravel’s conventions, so developers familiar with the framework find onboarding quick. Configuration is handled through .env files and Laravel’s config directories; environment variables expose all critical settings (mail, database, queue). The API documentation is auto‑generated via OpenAPI/Swagger and served at /docs. Community support is active on GitHub Discussions, Discord, and a dedicated Slack channel. The codebase emphasizes test coverage (PHPUnit + Pest) and follows PSR‑12 coding standards, ensuring maintainability.
Use Cases
- Enterprise Help Desk: Replace Zendesk or Help Scout with a fully private solution, preserving data sovereignty and eliminating subscription costs.
- DevOps Support: Integrate ticket events into CI/CD pipelines or monitoring dashboards via webhooks.
- IoT & SaaS Support: Embed the ticketing UI into a custom portal, exposing API endpoints for customer self‑service.
- Education & Nonprofits: Deploy on low‑budget servers while keeping all data local and open source.
Advantages
- Zero Licensing Fees: Completely free under the MIT license, with no hidden costs.
Open SourceReady to get started?
Join the community and start self-hosting FreeScout today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Digicard
Create simple graphic compositions with a web-based editor
Owncast
Self‑hosted live streaming with built‑in chat and Fediverse support
Nirvati
Self-host your digital life with privacy-first freedom
2FAuth
Self‑hosted 2FA manager for desktop and mobile
Jitsi Videobridge
Scalable WebRTC SFU for high‑quality video conferencing
Gollum
Git‑based Wiki for easy, versioned documentation
