User:Simon/Trim4/prototypes/calibre service file: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
No edit summary
Line 1: Line 1:
You can easily create a service to run calibre at boot on a modern (systemd) based Linux system. Just create the file <code>/etc/systemd/system/calibre-server.service</code> with the contents shown below:
You can easily create a service to run calibre at boot on a modern (systemd) based Linux system. Just create the file <code>/etc/systemd/system/calibre.service</code> with the contents shown below:


     [Unit]
     [Unit]
     Description=calibre content server
     Description=Calibre.
     After=network.target
     After=syslog.target network.target
      
      
     [Service]
     [Service]
     Type=simple
     Type=simple
     User=mylinuxuser
     User=pi
     Group=mylinuxgroup
     Group=pi
     ExecStart=/opt/calibre/calibre-server "/path/to/calibre library directory"
     WorkingDirectory=/home/pi/calibre-web
    ExecStart=python cps.py
    Restart=always
      
      
     [Install]
     [Install]
     WantedBy=multi-user.target</code>
     WantedBy=multi-user.target


Change <code>mylinuxuser</code> and <code>mylinuxgroup</code> to whatever user and group you want the server to run as. This should be the same user and group that own the files in the calibre library directory. Note that it is generally not a good idea to run the server as root. Also change the path to the calibre library directory to suit your system. My calibre.service file looks like this:
Change the User <code>pi</code> and Group <code>pi</code> to whatever user and group you want the server to run as. This should be the same user and group that own the files in the calibre library directory. Note that it is generally not a good idea to run the server as root. Also change the path to the calibre library directory to suit your system. My calibre.service file looks like this:


[[File:Bootleg calibre service.png|800px|frameless]]
[[File:Bootleg calibre service.png|800px|frameless]]

Revision as of 15:58, 3 December 2019

You can easily create a service to run calibre at boot on a modern (systemd) based Linux system. Just create the file /etc/systemd/system/calibre.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

Change the User pi and Group pi to whatever user and group you want the server to run as. This should be the same user and group that own the files in the calibre library directory. Note that it is generally not a good idea to run the server as root. Also change the path to the calibre library directory to suit your system. My calibre.service file looks like this:

Bootleg calibre service.png

Now run:

sudo systemctl start calibre-server

to start the server. Check its status with:

sudo systemctl status calibre-server

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.