Automatically host a gollum wiki with the supervisor
Gollum wiki plays an important role in my research and study for keeping small pieces of knowledge organized. When I want to write a note, or keep some useful links, I fire up a web browser and write them down in my wiki through the built-in web editor for markdown. Thus, hosting my wiki locally all the time is pretty important for me.
Previously, I use service tools (such as systemd, upstart) coming with the Ubuntu system to automatically host the wiki when system starts. But sometimes you are not even sure which tool you system is using. Maybe both exist. And it seems not that simple to set up a service for a beginner.
Thus, I switch to the supervisor, a process control system, to manage the programs running in the background. So far, I am happy with it since it’s easy to install, configure and update. In addition, it provides a web gui to control the state of programs. What a nice feature to have!
Dependencies
- rbenv (ruby version manager, avoid messing up with the ruby comes with the system)
- bundler (ruby application gem manaer, install and update gems with ease)
- gollum (wiki engine)
- supervisor (Automatically host the wiki when the system starts, also provide a nice gui to control programs)
Installation
Here is a simple gollum wiki template: https://github.com/yuzhangbit/wiki_barebone.git that we are going to use.
Run the install script in the repo. This install script has only been tested on ubuntu 14.04 LTS and 16.04 LTS.
git clone https://github.com/yuzhangbit/wiki_barebone.git
cd wiki_barebone
If it is your first time to install dependencies, please run commands below.
bash install.bash # install dependencies, rbenv, bundler, gollum, supervisor, enable the web gui for supervisor
bash setup.bash # set up the autostart configuration for the wiki app
If you have already installed the dependencies, make your wiki automatically start using commands below,
bash setup.bash
Usage
Open your browser and check the wiki out.
localhost:8888
Start and Stop wiki
This wiki will be hosted automatically when you start the ubuntu. You can control the program through commands below or web gui interfaces.
sudo supervisorctl start wiki # start to host the wiki, the "wiki" is defined by the APP_NAME variable.
sudo supervisorctl restart wiki # restart to host the wiki, the "wiki" is defined by the APP_NAME variable.
sudo supervisorctl stop wiki # stop to host the wiki, the "wiki" is defined by the APP_NAME variable.
Supervisor
NOTE: If you install supervisor
via pip
, you probably can not generate a configuration file /etc/supervisor/supervisord.conf
and the /etc/supervisor/conf.d
folder. Even if you create the configuration file and directory for it manually, you are going to have trouble with sockets
when running supervisorctl
commands. So the apt-get install
method is recommended.
Configuration
In order to manage all programs
, supervisor
creates a /etc/supervisor/conf.d
directory to hold all the .conf
files for all the programs. In its supervisord.conf
file, it defines
[include]
files = /etc/supervisor/conf.d/*.conf
folder to find all the .conf
files. If this is missing, please add it manually.
An example .conf
file can be generated by setup.bash
script in https://github.com/yuzhangbit/wiki_barebone.
Enable the web gui
The web gui tool for the supervisor can be enabled in /etc/supervisor/supervisord.conf
by adding
[inet_http_server]
port = 127.0.0.1:9001
to /etc/supervisor/supervisord.conf
. This is done by the install.bash
script in https://github.com/yuzhangbit/wiki_barebone
Then you can check the status of programs managed by the supervisor through localhost:9001
in web browser.
Useful Commands for Supervisor
sudo supervisorctl reload # reload the supervisor.conf file and restart supervisor
sudo supervisorctl reread # reread the .conf files for programs
sudo supervisorctl udpate # update all the programs
sudo supervisorctl start all # start all the programs
Leave a Comment