Once fossil is set up, I wanted it to start automatically on system reboot, so that I needn’t worry about it in the future.

After trying many different ways of doing this and failing, I ended up with a configuration which included a shell script and supervisor to start it.

The shell script

This is a simple one-liner, which ran fossil as scgi

#!/bin/sh
fossil server --nojail --repolist --localhost \
--port <port number> --scgi <directory of REPOs> > /dev/null

Supervisor

For supervisor, I followed this DigitalOcean tutorial.

After the usual installation steps which meant –

apt-get install supervisor

I set up the supervisor program under /etc/supervisor/conf.d/fossil.conf

[program:fossil]
command=<path to fossil server script from step 1>
autostart=true
autorestart=true
stderr_logfile=/var/log/fossil.err.log
stdout_logfile=/var/log/fossil.out.log

And that’s it. Now Nginx is set to point to Fossil which is running on a predefined port via a shell script which will run automatically on system boot.

All set now for whatever else comes ahead!