Set up a Debusine worker

Introduction

debusine-worker is a daemon that connects (via HTTP API and WebSockets) to a Debusine server, waits for tasks and executes tasks locally. See Workers.

Initial setup

Install the debusine-worker package. The Initial setup using Debusine server has the instructions how to add the Debusine repository.

To know what the package does during installation see the What the package does on installation section. Follow the steps below to finalize the set-up.

  1. Create the file /etc/debusine/worker/config.ini . Use /usr/share/doc/debusine-worker/examples/config.ini as an example:

    $ sudo cp /usr/share/doc/debusine-worker/examples/config.ini /etc/debusine/worker/
    $ sudo editor /etc/debusine/worker/config.ini
    

    Change the api-url in the configuration file as needed.

  2. Restart debusine-worker with the new configuration:

    $ sudo systemctl restart debusine-worker
    
  3. View the worker logs:

    $ journalctl -u debusine-worker.service
    
  4. Following the restart, the token will appear in /etc/debusine/worker/token. The Debusine admin should approve the tokens pending for approval. Nothing needs to be done from the side of debusine-worker.

Managing debusine-worker

Use the systemctl command to start (done automatically by the package), stop or restart the debusine-worker:

$ sudo systemctl start debusine-worker
$ sudo systemctl stop debusine-worker
$ sudo systemctl status debusine-worker

The default configuration logs to stderr, which is captured by systemd’s journal. The log level can be changed in /etc/debusine/worker/config.ini.

Troubleshooting

Information about the state of debusine-worker can be found via:

  1. systemctl status debusine-worker to verify that the service is running

  2. journalctl -u debusine-worker.service to see worker logs

  3. journalctl -u debusine-worker.service -f to follow logs live

  4. journalctl -u debusine-worker.service -b to see logs from current boot

To change the settings of debusine-worker, for example to increase the logging level:

$ sudo editor /etc/debusine/worker/config.ini # change log-level
$ sudo systemctl restart debusine-worker

debusine-worker can be launched without systemd which might be useful for troubleshooting. Run it with the same debusine-worker user. For example:

$ sudo systemctl stop debusine-worker
$ sudo editor /etc/debusine/worker/config.ini # adjust log-level if needed
$ sudo -u debusine-worker debusine-worker     # execute it with the correct user

debusine-worker can also be launched using a different user for debugging purposes. The configuration (config.ini and token files) in the directory $HOME/.config/debusine/worker have higher priority than the global configuration, /etc/debusine/worker .

What the package does on installation

  • Creates the debusine-worker user

  • Installs a systemd service (named debusine-worker)

  • Creates the directory /var/lib/debusine-worker