Setup Opsdroid as a service on Ubuntu 18.04 with systemd

linux Dec 08, 2019

I wrote a post on how to setup a Raspberry Pi 3 with Opsdroid a while back and needed to update the process for my web host just a bit.  

Install Opsdroid

You may have Python and Pip already installed, but just in case here is the way you would get Opdroid installed on a fresh box [Install docs for reference].

# Update apt-get
$ sudo apt-get update

# Install pip for Python 3 and locales
$ sudo apt-get install python3-pip language-pack-en git

# Ensure pip is up-to-date
$ pip3 install --upgrade pip

# Install opsdroid
$ sudo pip3 install opsdroid

# Run opsdroid
$ opsdroid start

We start Opsdroid just to get a generic config created. The basic config has just enough to get you rollin'.  You can stop the service via ctrl-C once it is online.

Create a Systemd Service

Open up your favorite command line text editor.  We will be creating a systemd service file.

$ sudo nano /etc/systemd/system/opsdroid.service

Now paste the following in.  Edit the $USER to your user that you will be installing and running the service as.

Description=opsdroid chatbot service



Save the file and exit [ctrl+O, Enter, and ctrl+X for the nano text editor]

Reload and Set Service as Enabled

I do this initially with a default config to make sure everything is working.  I break the service enough when configuring it, and like to know if the out of the box the service is working as intended.

# Services reload
$ sudo systemctl daemon-reload

# Start, Enable, and Check the status
$ sudo systemctl start opsdroid.service
$ sudo systemctl enable opsdroid.service
$ sudo systemctl status opsdroid

Once you are all done with the above you can start automating your life with "chatops".

Have fun.


Utopia Machine

Enthusiastic highly imaginative senior technologist with creative approaches to solving problems