Skip to content

Run with Systemd

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
sudo cp opengist /usr/local/bin
sudo mkdir -p /var/lib/opengist
sudo cp config.yml /etc/opengist

Edit the Opengist home directory configuration in /etc/opengist/config.yml like:

shell
opengist-home: /var/lib/opengist

Create a new user to run Opengist:

shell
sudo useradd --system opengist
sudo mkdir -p /var/lib/opengist
sudo chown -R opengist:opengist /var/lib/opengist

Then create a service file at /etc/systemd/system/opengist.service:

ini
[Unit]
Description=opengist Server
After=network.target

[Service]
Type=simple
User=opengist
Group=opengist
ExecStart=opengist --config /etc/opengist/config.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target

Finally, start the service:

shell
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
  • 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