# Supervisor >Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. What that means is supervisor will take care of ensuring the celery workers are running (and mumble authenticator) and start the automatically on reboot. Handy, eh? ## Installation Most OSes have a supervisor package available in their distribution. Ubuntu: sudo apt-get install supervisor CentOS: sudo yum install supervisor sudo systemctl enable supervisord.service sudo systemctl start supervisord.service ## Configuration Auth provides example config files for the celery workers, the periodic task scheduler (celery beat), and the mumble authenticator. All of these are available in `thirdparty/Supervisor`. For most users, all you have to do is copy the config files to `/etc/supervisor/conf.d` then restart the service. Copy `auth.conf` for the celery workers, and `auth-mumble.conf` for the mumble authenticator. For all three just use a wildcard: sudo cp thirdparty/Supervisor/* /etc/supervisor/conf.d Ubuntu: sudo service supervisor restart CentOS: sudo systemctl restart supervisor.service ## Checking Status To ensure the processes are working, check their status: sudo supervisorctl status Processes will be `STARTING`, `RUNNING`, or `ERROR`. If an error has occurred, check their log files: - celery workers: `log/worker.log` - celery beat: `log/beat.log` - authenticator: `log/authenticator.log` ## Restarting Processes To restart the celery group: sudo supervisorctl restart auth:* To restart just celerybeat: sudo supervisorctl restart auth:celerybeat To restart just celeryd: sudo supervisorctl restart auth:celeryd To restart just mumble authenticator: sudo supervisorctl restart auth-mumble ## Customizing Config Files The only real customization needed is if running in a virtual environment. The python path will have to be changed in order to start in the venv. Edit the config files and find the line saying `command`. Replace `python` with `/path/to/venv/bin/python`. For Celery replace `celery` with `/path/to/venv/bin/celery`. This can be relative to the `directory` specified in the config file. Note that for config changes to be loaded, the supervisor service must be restarted. ## Troubleshooting ### auth-celerybeat fails to start Most often this is caused by a permissions issue on the allianceauth directory (the error will talk about `celerybeat.pid`). The easiest fix is to edit its config file and change the `user` from `allianceserver` to `root`. ### Workers are using old settings Every time the codebase is updated or settings file changed, workers will have to be restarted. Easiest way is to restart the supervisor service (see configuration above for commands)