lotus/documentation/en/install-systemd-services.md
2020-08-05 23:26:40 +08:00

3.5 KiB

Use Lotus with systemd

Lotus is capable of running as a systemd service daemon. You can find installable service files for systemd in the lotus repo scripts directory as files with .service extension. In order to install these service files, you can copy these .service files to the default systemd unit load path.

The services expect their binaries to be present in /usr/local/bin/. You can use make to install them by running:

$ sudo make install

for lotus(-daemon) and lotus-storage-miner and

$ sudo make install-chainwatch

for the chainwatch tool.

Installing services via make

If your host uses the default systemd unit load path, the lotus-daemon and lotus-miner services can be installed by running:

$ sudo make install-services

To install the the lotus-chainwatch service run:

$ sudo make install-chainwatch-service

You can install all services together by running:

$ sudo make install-all-services

The lotus-daemon and the lotus-miner services can be installed individually too by running:

$ sudo make install-daemon-service

and

$ sudo make install-miner-service

Notes

When nstalling the lotus-miner and/or lotus-chainwatch service the lotus-daemon service gets automatically installed since the other two services depend on it being installed to run.

All install *service* commands will install the latest binaries in the lotus build folders to /usr/local/bin/. If you do not want to use the latest build binaries please copy the *.service files by hand.

Removing via make

All services can beremoved via make. To remove all services together run:

$ sudo make clean-all-services

Individual services can be removed by running:

$ sudo make clean-chainwatch-services
$ sudo make clean-miner-services
$ sudo make clean-daemon-services

Notes

Removing the lotus-daemon service will automatically remove the depending services lotus-miner and lotus-chainwatch

Controlling services

Start/Stop

You can start the services by running:

$ sudo systemctl start lotus-daemon
$ sudo systemctl start lotus-miner
$ sudo systemctl start lotus-chainwatch

and can be stopped by running:

$ sudo systemctl stop lotus-daemon
$ sudo systemctl stop lotus-miner
$ sudo systemctl stop lotus-chainwatch

Enabling services on startup

To enable the services to run automatically on startup execute:

$ sudo systemctl enable lotus-daemon
$ sudo systemctl enable lotus-miner
$ sudo systemctl enable lotus-chainwatch

To disable the services on startup run:

$ sudo systemctl disable lotus-daemon
$ sudo systemctl disable lotus-miner
$ sudo systemctl disable lotus-chainwatch

Notes

Systemd will not let services be enabled or started without their dependencies. Starting the lotus-chainwatch and/or lotus-miner service with automatically start the lotus-daemon service (if installed!). Stopping the lotus-daemon service will stop the other two services. The same pattern is executed for enabling and disabling the services.

Interacting with service logs

Logs from the services can be reviewed using journalctl.

Follow logs from a specific service unit

$ sudo journalctl -u lotus-daemon -f

View logs in reverse order

$ sudo journalctl -u lotus-miner -r

Log files

Besides the systemd service logs all services save their own log files in /var/log/lotus/.