This guide gives instructions on how to set up two popular system managers to simplify and automate the management of your Firo masternode: Systemd and Monit. Use only one of the two.
Systemd
Create a service file for firod:
sudo nano /etc/systemd/system/firod.service
Enter the following. Modify the User
, Group
, PIDFile
, ExecStart
, and ExecStop
lines according to your own configuration:
[Unit]
Description=Firo daemon
After=network.target
[Service]
Type=forking
Restart=always
RestartSec=30
User=username
Group=username
PIDFile=/home/username/.firo/firod.pid
ExecStart=/usr/local/bin/firod
ExecStop=/usr/local/bin/firo-cli stop
[Install]
WantedBy=multi-user.target
Reload systemd:
sudo systemctl daemon-reload
Start firod with systemctl to test
sudo systemctl start firod.service
Then check if running with ./firo-cli getinfo
To enable firod autostart at restart
sudo systemctl enable firod.service
To stop firod (e.g. to update)
sudo systemctl stop firod.service
You can restart firod with
sudo systemctl restart firod.service
Monit
Install monit if not installed:
sudo apt install monit
Edit monit control file:
sudo nano /etc/monit/monitrc
Remove ‘#’ from the front part of the following lines:
set httpd port 2812 and
use address localhost # only accept connection from localhost
allow localhost # allow localhost to connect to the server and
allow admin:monit # require user 'admin' with password 'monit'
Scroll to the end of the file and add ‘#’ in front of this line:
#include /etc/monit/conf-enabled/*
Create a monit control file for firod.
sudo nano /etc/monit/conf.d/firod
Copy and paste the following into the editor. Make sure to modify the paths to suit your installation. Once done, ‘Ctrl+X’ to save and exit.
check process firod matching "firod"
start program = "/home/USERNAME/firo-0.14.1/bin/firod -daemon -datadir=/home/USERNAME/.firo/"
as uid USERNAME and gid USERNAME
stop program = "/home/user/firo-0.14.1/bin/firo-cli stop"
as uid USERNAME and gid USERNAME
if failed host 127.0.0.1 port 8168 type TCP for 2 cycles then restart
Reload monit for changes to take effect.
sudo monit reload
Check if the control file is okay with
sudo monit -t
Start firod with monit
sudo monit start firod
Check monitoring status
sudo monit status
To stop firod with monit
sudo monit stop firod