From 292ff01923de86b9139eae538962e98d76178b9a Mon Sep 17 00:00:00 2001 From: cloudhead Date: Thu, 8 Feb 2024 12:34:26 +0100 Subject: [PATCH] systemd: Update for system install While these unit files were good for a user install, they were not appropriate for running *system* services. Since most users nowadays use `rad node` to manage their node, it makes more sense for the unit files to be oriented towards server use. --- systemd/radicle-httpd.service | 20 +++++++++----------- systemd/radicle-node.service | 22 +++++++++------------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/systemd/radicle-httpd.service b/systemd/radicle-httpd.service index 8e47dc1e..d6266207 100644 --- a/systemd/radicle-httpd.service +++ b/systemd/radicle-httpd.service @@ -3,23 +3,21 @@ # When running radicle-httpd on a server, it should be run as a separate user. # # Copy this file into /etc/systemd/system and set the User/Group parameters -# under [Service] appropriately, or copy it into the user's systemd directory. -# -# For example: -# -# mkdir -p $HOME/.config/systemd/user/ -# cp radicle-node.service $HOME/.config/systemd/user/radicle-node.service +# under [Service] appropriately, as well as the `RAD_HOME` environment variable. # [Unit] -After=syslog.target network.target -Description=Radicle HTTPd +Description=Radicle HTTP Daemon +After=network.target network-online.target +Requires=network-online.target [Service] -ExecStart=%h/.radicle/bin/radicle-httpd --listen 127.0.0.1:8080 -Environment=RAD_HOME=%h/.radicle RUST_BACKTRACE=1 RUST_LOG=info +User=seed +Group=seed +ExecStart=/usr/local/bin/radicle-httpd --listen 127.0.0.1:8080 +Environment=RAD_HOME=/home/seed/.radicle RUST_BACKTRACE=1 RUST_LOG=info KillMode=process Restart=always RestartSec=1 [Install] -WantedBy=default.target +WantedBy=multi-user.target diff --git a/systemd/radicle-node.service b/systemd/radicle-node.service index 971eca35..5ec85d73 100644 --- a/systemd/radicle-node.service +++ b/systemd/radicle-node.service @@ -3,32 +3,28 @@ # When running radicle-node on a server, it should be run as a separate user. # # Copy this file into /etc/systemd/system and set the User/Group parameters -# under [Service] appropriately, or copy it into the user's systemd directory. -# -# For example: -# -# mkdir -p $HOME/.config/systemd/user/ -# cp radicle-node.service $HOME/.config/systemd/user/radicle-node.service +# under [Service] appropriately, as well as the `RAD_HOME` environment variable. # # If your Radicle key is passphrase-protected, you will have to set the -# RAD_PASSPHRASE environment variable to the passphrase supplied during +# `RAD_PASSPHRASE` environment variable to the passphrase supplied during # `rad auth`, eg. # # [Service] # Environment=RAD_PASSPHRASE=snickerdoodle # -# Also ensure RAD_HOME is set appropriately. -# [Unit] Description=Radicle Node -After=syslog.target network.target +After=network.target network-online.target +Requires=network-online.target [Service] -ExecStart=%h/.radicle/bin/radicle-node --listen 0.0.0.0:8776 --force -Environment=RAD_HOME=%h/.radicle RUST_BACKTRACE=1 RUST_LOG=info +User=seed +Group=seed +ExecStart=/usr/local/bin/radicle-node --listen 0.0.0.0:8776 --force +Environment=RAD_HOME=/home/seed/.radicle RUST_BACKTRACE=1 RUST_LOG=info KillMode=process Restart=always RestartSec=3 [Install] -WantedBy=default.target +WantedBy=multi-user.target