User:Simon/Trim4/prototypes/calibre service file

From XPUB & Lens-Based wiki
< User:Simon‎ | Trim4/prototypes
Revision as of 10:56, 4 December 2019 by Simon (talk | contribs) (→‎Stopping the calibre-server service)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Creating a unit file

You can easily create a unit file for calibre to run on boot on a modern (systemd) based Linux system. This means it will also restart after a crash. Create the file /etc/systemd/system/calibre-server.service with the contents shown below:

[Unit]
Description=Calibre.
After=syslog.target network.target

[Service]
Type=simple
User=pi
Group=pi
WorkingDirectory=/home/pi/calibre-web
ExecStart=python cps.py
Restart=always

[Install]
WantedBy=multi-user.target

The User and Group should be the same ones that own the files in the calibre library directory. It's generally not a good idea to run the server as root. Also change the path to the calibre library directory to suit your system.

Starting the calibre-server service

Run:

sudo systemctl start calibre-server

to start the server.

Stopping the calibre-server service

Stopping the service is as easy as running:

sudo systemctl stop calibre-server

Checking the status of the calibre-server service

Check its status with:

sudo systemctl status calibre-server

Enabling the calibre-server service to start at boot

To make it start at boot, run:

sudo systemctl enable calibre-server

Note

The calibre server does not need a running X server, but it does need the X libraries installed as some components it uses link against them.

The calibre server also supports systemd socket activation, so you can use that, if needed, as well.