Running Liwan as a Service
Liwan can be run as a service on most operating systems. This allows you to start Liwan automatically when your server boots and manage it using the system’s service manager. Systemd is the most common and is used by most modern Linux distributions. Another popular init system is OpenRC, which is used by Gentoo and Alpine Linux.
-
Creating the service
To run Liwan as a service usingsystemd
, create a new service file in/etc/systemd/system/liwan.service
with the following content:/etc/systemd/system/liwan.service [Unit]Description=Liwan Web AnalyticsAfter=network.target[Service]# Replace `yourusername` with your usernameExecStart=/home/yourusername/.local/bin/liwanRestart=on-failureUser=yourusername[Install]WantedBy=multi-user.targetReplace
yourusername
with your username and adjust the paths to match your setup. To generate a configuration file, you can runliwan generate-config -o ~/.config/liwan/liwan.config.toml
. -
Starting the service
After creating the service file, reload the systemd daemon and start the service:Terminal window # Reload the systemd daemonsudo systemctl daemon-reload# Enable the service to start automatically on bootsudo systemctl enable liwan# Start the servicesudo systemctl start liwan -
Checking the status
You can now check the status of the service usingsystemctl status liwan
and view the logs usingjournalctl -u liwan
. If this is the first time you are running Liwan, you can find a link to set up your account in the logs.
-
Creating the service
To run Liwan as a service usingOpenRC
, create a new service script in/etc/init.d/liwan
with the following content:/etc/init.d/liwan #!/sbin/openrc-runname="Liwan"description="Liwan Web Analytics"command_user="yourusername"command="/home/${command_user}/.local/bin/liwan"command_background=truepidfile="/run/${RC_SVCNAME}.pid"capabilites="^cap_net_bind_service"output_log="/var/log/liwan/liwan.log"error_log="/var/log/liwan/liwan.err"depend() {need netafter firewall}start_pre() {checkpath --directory --owner $command_user:$command_user --mode 0775 \/run/$RC_SVCNAME /var/log/$RC_SVCNAME}Replace yourusername with your username and adjust the paths to match your setup. Make sure the script is executable:
Terminal window chmod +x /etc/init.d/liwanTo generate an example configuration file, you can run
liwan generate-config -o ~/.config/liwan/liwan.config.toml
. -
Starting the service
Starting the service After creating the service script, add the service to the default runlevel and start it:Terminal window # Add the service to the default runlevelrc-update add liwan default# Start the servicerc-service liwan start -
Checking the status
You can now check the status of the service usingrc-service liwan status
and view the logs usingtail -f /var/log/liwan/liwan.log
. If this is the first time you are running Liwan, you can find a link to set up your account in the logs.