The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
=head1 NAME

App::Netdisco::Manual::Systemd - Systemd install tips

=head1 Introduction

This page documents Netdisco running under systemd. Thanks to Aurelien Guerson
and Stuart Kendrick for offering this solution. Please check these
instructions apply to your local installation and use at your own risk.

=head1 Files

=head2 C<< /etc/systemd/system/netdisco-backend.service >>

This should be set mode 644 and owned by user and group C<root>.

  [Unit]
  Description=Netdisco Backend Service
  AssertFileIsExecutable=/home/netdisco/bin/netdisco-backend
  After=syslog.target network-online.target
  
  [Service]
  Type=forking
  User=netdisco
  Group=netdisco
  ExecStart=/home/netdisco/bin/netdisco-backend start
  ExecStop=/home/netdisco/bin/netdisco-backend stop
  Restart=on-failure
  RestartSec=60
  
  [Install]
  WantedBy=multi-user.target

=head2 C<< /etc/systemd/system/netdisco-web.service >>

This should be set mode 644 and owned by user and group C<root>.

  [Unit]
  Description=Netdisco Web Service
  AssertFileIsExecutable=/home/netdisco/bin/netdisco-web
  After=syslog.target network-online.target netdisco-backend.service
  
  [Service]
  Type=forking
  User=netdisco
  Group=netdisco
  ExecStart=/home/netdisco/bin/netdisco-web start
  ExecStop=/home/netdisco/bin/netdisco-web stop
  Restart=on-failure
  RestartSec=60
  
  [Install]
  WantedBy=multi-user.target

=head1 Commands

To enable Netdisco in systemd:

 systemctl enable netdisco-backend.service
 systemctl enable netdisco-web.service

To start Netdisco:

 systemctl start netdisco-backend.service
 systemctl start netdisco-web.service

May also need to run C<systemctl netdisco-backend reload> depending on the
order you do these steps.

=cut