System Settings

The System settings page lets you configure core functionalities that impact your helpdesk's performance, speed, and real-time capabilities. This guide explains each option to help you optimize your self-hosted BeDesk installation.

To get started, navigate to Admin > Settings > System page.

Cache Provider

Caching is a fundamental technique for speeding up your application. It works by storing frequently accessed data (like settings, translations, or complex database query results) in a temporary, high-speed storage location. This means BeDesk doesn't have to fetch this data from slower sources (like the database or files) every single time it's needed, making your helpdesk feel much faster for both agents and customers.

Cache Options

You must have redis or memcached installed and running on your server, if you want to use these options.

Queue Method

Some tasks in BeDesk, like sending email notifications or processing webhooks, can take a few seconds to complete. A queue system allows BeDesk to offload these tasks to a background process. This means that instead of making a user wait for the task to finish, the app can respond instantly and let the "queue worker" handle the job in the background. This results in a much smoother and faster user experience. 🚀

Queue Options

Starting Queue Worker

After you've selected the queue method other then none, you will need to start the queue worker using this command:

php artisan horizon

Ideally you should also configure a process monitor (supervisor, systemd etc.) to monitor the php artisan horizon command and restart it if it exits unexpectedly or server is restarted.

Monitoring Your Queue

Once you've selected a queue driver like Redis or Database, a Queue Status section will appear. This provides a quick visual indicator to confirm that your server's queue worker process is active.

For more detailed insights, click the Monitor button. This will take you to the Laravel Horizon dashboard, a powerful tool that provides a real-time view of your queue activity. From Horizon, you can monitor job throughput, check for failed jobs, retry jobs, and get a complete overview of your helpdesk's background task performance.

Websockets Provider

Websockets create a persistent, real-time connection between your users' browsers and your server. This technology powers live, instantaneous updates without needing to refresh the page. In BeDesk, this is especially important if using LiveChat module.

For a detailed guide on configuring the different websocket options, please see our dedicated article: Realtime Functionality using Websockets.

Logging

Effective error logging is essential for maintaining a healthy application. While BeDesk has its own internal logging, integrating a dedicated error tracking service can help you see any issues your users might be having.

Sentry Integration

BeDesk offers a built-in integration with Sentry, a popular real-time error tracking platform. When configured, any errors that occur in your BeDesk application will be automatically sent to your Sentry dashboard. This provides you with detailed reports, stack traces, and alerts, making it much easier to diagnose and resolve issues.

To enable it, simply:

  1. Create an account and a new project on Sentry.io.

  2. On the next step select "React" or "Laravel" and click "Create Project".

  3. Copy the DSN (Data Source Name) provided for your project.

  4. Paste the DSN into the Sentry DSN field in BeDesk and click Save changes.