diff --git a/docs/administration/run-with-systemd.md b/docs/administration/run-with-systemd.md index cb08bd2e..36aa5912 100644 --- a/docs/administration/run-with-systemd.md +++ b/docs/administration/run-with-systemd.md @@ -2,6 +2,7 @@ For non-Docker users, you could run Opengist as a systemd service. +## As root On Unix distributions with systemd, place the Opengist binary like: ```shell @@ -45,3 +46,47 @@ systemctl daemon-reload systemctl enable --now opengist systemctl status opengist ``` + +---- + +## As a normal user +**NOTE: This was tested on Ubuntu 20.04 and newer. For other distros, please check the respective documentation** + +#### For the purpose of this documentation, we will assume that: +- You've followed the instructions on how to run opengist [from source](https://github.com/thomiceli/opengist?tab=readme-ov-file#from-source) +- Your shell user is named `pastebin` +- All commands are being executed as the `pastebin` user + +_If none of the above is true, then adapt the commands and paths to fit your needs._ + +Enable lingering for the user: +```shell +loginctl enable-linger +``` + +Create the user systemd folder: +``` +mkdir -p /home/pastebin/.config/systemd/user +``` + +Then create a service file at `/home/pastebin/.config/systemd/user/opengist.service`: +```ini +[Unit] +Description=opengist Server +After=network.target + +[Service] +Type=simple +ExecStart=/home/pastebin/opengist/opengist --config /home/pastebin/opengist/config.yml +Restart=on-failure + +[Install] +WantedBy=default.target +``` + +Finally, start the service: +```shell +systemctl --user daemon-reload +systemctl --user enable --now opengist +systemctl --user status opengist +```