Note: Soketi is no longer actively maintained — its repository has been archived upstream. For new projects we recommend Laravel Reverb, which Ploi supports natively. This guide remains for existing Soketi installations.
Soketi is a simple, fast and resilient open-source WebSockets server. This article was originally written by its creator, Alex Renoki.
Installation
Soketi runs on Ubuntu without issues, so any Ploi-managed Ubuntu server can run it. Make sure your application server is set up first.
Installing via the Marketplace
Assuming your application is already deployed, you can use the Ploi Marketplace script for Soketi. Clicking "Copy Over" copies the script into your "Scripts" section, where you can run it on your servers with one click.

Manual installation
If you prefer to install it manually over SSH, install Soketi globally with npm:
npm install -g @soketi/soketi@latest
In some cases the script cannot run as the ploi user, so you may need root access to install the package globally.
Setting up Supervisor
Verify Soketi is installed:
soketi --help
Next, set up a Daemon (a supervisord process) so Soketi keeps running in the background and restarts if it crashes or the server reboots. From the server view, open the "Daemons" section and set the command to:
soketi start

You can confirm the process is running by checking its logs:

Opening the port to the internet
Finally, open Soketi's port to the internet. By default Soketi runs on port 6001, so add a TCP firewall rule for it:

Accessing [server-ip]:6001 should return an OK response from the server.
Connecting to Soketi
With Soketi installed and running on your Ploi server, the next steps are connecting your frontend application and broadcasting events from your backend application. 📡