Install OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04

Posted on 3 views

In this guide, we’ll cover the installation of OTRS (OTOBO) Ticketing system on Ubuntu 22.04/20.04/18.04 Linux system. OTOBO is a popular Open-source, modern and flexible Ticketing and Process management system with a wide range of features that are customization. It can be used for General IT issues resolution tracking, for help desk tickets or by the Customer Service department. OTOBO is forked and developed as Open source alternative to now commercial OTRS.

The OTOBO (OTRS) software is written in Perl/JavaScript and it comprises of ticketing, workflow automation, and notification modules. All tickets are managed from its web interface.

OTOBO supports several database systems which include PostgreSQL, MySQL, MS SQL and Oracle. In this, we will use the MariaDB database server. The installation of OTRS (OTOBO) ticketing system on Ubuntu 22.04|20.04|18.04 need the following software dependencies:

  • MariaDB database server
  • Apache web server
  • Perl and additional Perl modules

Let’s now dive into the installation steps of OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04.

Step 1: Update Ubuntu System

Let’s update and upgrade the packages installed on our Ubuntu system

sudo apt update
sudo apt upgrade

Wait for the system packages to be upgraded then reboot your system if kernel related updates were made.

sudo systemctl reboot

Step 2: Install Docker CE on Ubuntu 22.04|20.04|18.04

We will run OTOBO (OTRS) on Docker containers in our Ubuntu system. Docker CE has to be installed manually in the system since it is not pre-installed.

Import repository GPG key:

sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
curl -fsSL | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Add Docker APT repository

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Afterward, install Docker Engine and containerd on Ubuntu:

sudo apt update
sudo apt install docker-ce docker-ce-cli
sudo usermod -aG docker $USER
newgrp docker

Start Docker service after installation:

sudo systemctl start docker
sudo systemctl enable docker

Docker service should return green status – running:

$ systemctl status docker
 docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-11-10 13:40:05 UTC; 24s ago
TriggeredBy: ● docker.socket
   Main PID: 32384 (dockerd)
      Tasks: 8
     Memory: 29.6M
     CGroup: /system.slice/docker.service
             └─32384 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Step 3: Install Docker Compose on Ubuntu

Follow our guide in the link to install Docker Compose on your Ubuntu system.

Confirm installation ofDocker Compose on Ubuntu by checking version with below command:

$ docker-compose version
Docker Compose version v2.1.0

Step 4: Deploy OTRS (OTOBO) on Ubuntu using Docker

We should now be able to runOTRS (OTOBO) on Ubuntu after installation of Docker.

Install git tool:

sudo apt install git

Use git to pull Otobo code from Github:

$ git clone
Cloning into 'otobo-docker'...
remote: Enumerating objects: 717, done.
remote: Counting objects: 100% (488/488), done.
remote: Compressing objects: 100% (233/233), done.
remote: Total 717 (delta 274), reused 382 (delta 195), pack-reused 229
Receiving objects: 100% (717/717), 126.70 KiB | 8.45 MiB/s, done.
Resolving deltas: 100% (417/417), done.

You can list folder contents:

$ ls otobo-docker
LICENSE  docker-compose  etc  scripts

The Docker Compose configuration file .env allows you to manage your installation of OTOBO

$ ls otobo-docker/.docker_compose_env_http*
otobo-docker/.docker_compose_env_http   otobo-docker/.docker_compose_env_https_custom_nginx
otobo-docker/.docker_compose_env_https  otobo-docker/.docker_compose_env_https_selenium

If the OTOBO web application is planned to be accessed via HTTPS, then please use .docker_compose_env_https. Access via HTTPS is the recommended mode of operation. If HTTPS is not required then use .docker_compose_env_http as the starting point.

cd otobo-docker
cp -p .docker_compose_env_http .env # or .docker_compose_env_https for HTTP

Configure the password for the database admin user

Update database admin user by changing below parameter inside your .env file:

$ vim .env

The database admin user is needed to create the database user otobo and the database schema otobo. OTOBO will actually use the dedicated database user otobo.

Ensure Elasticsearch JAVA Options values are in quotes:

# Elasticsearch options

Start the Docker containers with Docker Compose

When done with the configurations start the Docker containers by running below commands:

$ docker-compose up --detach
[+] Running 10/10
 ⠿ Network otobo_default              Created                                                                                                                                                    0.1s
 ⠿ Volume "otobo_opt_otobo"           Created                                                                                                                                                    0.0s
 ⠿ Volume "otobo_mariadb_data"        Created                                                                                                                                                    0.0s
 ⠿ Volume "otobo_elasticsearch_data"  Created                                                                                                                                                    0.0s
 ⠿ Volume "otobo_redis_data"          Created                                                                                                                                                    0.0s
 ⠿ Container otobo-redis-1            Started                                                                                                                                                    1.2s
 ⠿ Container otobo-db-1               Started                                                                                                                                                    1.3s
 ⠿ Container otobo-elastic-1          Started                                                                                                                                                    1.3s
 ⠿ Container otobo-web-1              Started                                                                                                                                                    2.1s
 ⠿ Container otobo-daemon-1           Started                                                                                                                                                    3.2s

Check if containers were started successfully:

$ docker-compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
otobo-daemon-1      "/opt/otobo_install/…"   daemon              running
otobo-db-1          "docker-entrypoint.s…"   db                  running             3306/tcp
otobo-elastic-1     "/bin/tini -- /usr/l…"   elastic             running             9300/tcp
otobo-redis-1       "docker-entrypoint.s…"   redis               running             6379/tcp
otobo-web-1         "/opt/otobo_install/…"   web                 running   >5000/tcp, :::80->5000/tcp

A number of Docker Volumes used by the containers can be listed using docker volume ls command:

$ docker volume ls
local     otobo_elasticsearch_data
local     otobo_mariadb_data
local     otobo_opt_otobo
local     otobo_redis_data

Step 5: Configure OTOBO (OTRS) on Web browser

Open the URL http://yourIPorFQDN/otobo/ on your browser to start OTOBO installer.

Click “Next” to begin installation of OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04.


Accept License agreement terms to proceed.


Choose the Database you’ll be using – I’ll go with MySQL. For install type choose “Create a new database for OTOBO


Input the password for root database user as set in .env


Check database settings to validate if provided root user credentials are working.


Use “Next” to proceed to the next step. If successful you should get output like in the screenshot below.


In the next step, you can edit system settings as desired.


When you finish configuration the page URL, User and Password details will be printed in the screen. Save the details in a safe place.


Use provided username and Password to login.




Thanks for using our guide to install Latest release of OTRS (OTOBO) on Ubuntu 22.04|20.04|18.04.


Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.