diff --git a/etc/linux-systemd/README.md b/etc/linux-systemd/README.md new file mode 100644 index 00000000..030e7134 --- /dev/null +++ b/etc/linux-systemd/README.md @@ -0,0 +1,27 @@ +This directory contains a configuration for running syncthing under the +"systemd" service manager on Linux both under either a systemd system service or +systemd user service. + + 1. Install systemd. + + 2. If you are running this as a system level service: + + 1. Create the user you will be running the service as (foo in this example). + + 2. Copy the syncthing@.service files to /etc/systemd/system + + 3. Enable and start the service + systemctl enable syncthing@foo.service + systemctl start syncthing@foo.service + + 3. If you are running this as a user level service: + + 1. Log in as the user you will be running the service as + + 2. Copy the syncthing.service files to /etc/systemd/user + + 3. Enable and start the service + systemctl --user enable syncthing.service + systemctl --user start syncthing.service + +Log output is sent to the journal. diff --git a/etc/linux-systemd/system/syncthing@.service b/etc/linux-systemd/system/syncthing@.service new file mode 100644 index 00000000..5f6ffbd3 --- /dev/null +++ b/etc/linux-systemd/system/syncthing@.service @@ -0,0 +1,14 @@ +[Unit] +Description=Syncthing service for %i +After=network.target + +[Service] +User=%i +Environment=STARGS= +EnvironmentFile=-/etc/default/syncthing +Environment=STNORESTART=yes +ExecStart=/usr/bin/syncthing ${STARGS} +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/etc/linux-systemd/user/syncthing.service b/etc/linux-systemd/user/syncthing.service new file mode 100644 index 00000000..6f10539f --- /dev/null +++ b/etc/linux-systemd/user/syncthing.service @@ -0,0 +1,12 @@ +[Unit] +Description=Syncthing service + +[Service] +Environment=STARGS= +EnvironmentFile=-%h/.config/syncthing/environment +Environment=STNORESTART=yes +ExecStart=/usr/bin/syncthing ${STARGS} +Restart=on-failure + +[Install] +WantedBy=cmdline.target