How to configure Websocket?¶
Sulu comes with a sulu-wide websocket application. This application is optional but comes with a few feature which can only be used if the websocket is running.
For example the real-time notification for CollaborationBundle can only be displayed when the websocket is running.
Configuration¶
If you use the config layout of sulu-standard you only have to set following
parameters in the parameters.yml
file.
websocket_url |
The url on which the websocket should listen. |
websocket_port |
The port on which the websocket should listen. |
If you have multiple installations of sulu on a single server be sure that you use unique ports per installation.
To enable the websocket you have to place following lines into your configuration:
sulu_content:
preview:
websocket: true
If you have your own application, you can configure the url and port in your configuration.
sulu_websocket:
server:
http_host: '%websocket_url%'
port: '%websocket_port%'
sulu_content:
preview:
websocket: true
Execution¶
To execute the websocket you have to run the command
app/console sulu:websocket:run -e prod
. This command starts the server and
listens to the configured port.
We recommend to run the websocket with supervisor. You can use the example configuration for supervisord.
/etc/supervisor/conf.d/sulu_websocket.conf
[program:sulu_websocket]
command=/var/www/sulu.io/app/console sulu:websocket:run --env prod
process_name=sulu_websocket
user=www-data
numprocs=1
directory=/var/www/sulu.io
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisor/sulu_websocket.log
stdout_logfile=/var/log/supervisor/sulu_websocket.log
stdout_logfile_maxbytes=10MB