Skip to content

OTOBO Ticket System with Docker

Using Docker with OTOBO offers a flexible and efficient method for operating the ticket system in an isolated environment. This guide walks you through the basic steps of installation and management of OTOBO with Docker.

There are important differences regarding Docker between OTOBO and Znuny: Differences between Znuny and OTOBO

The installation of the OTOBO Helpdesk can be performed either directly or via Docker. Docker enables quick setup and ensures high consistency and isolation of the environment through containerization.

In a Docker environment, OTOBO typically runs distributed across several containers:

  1. otobo_web_1: The web server.
  2. otobo_redis_1: Caching for improved performance.
  3. otobo_db_1: The database (MariaDB).
  4. otobo_daemon_1: Background services for OTOBO.
  5. otobo_elastic_1: Elasticsearch for full-text search.
  6. otobo_nginx_1 (optional): Nginx as a reverse proxy for HTTPS connections.

Docker containers function like virtual machines, but are more lightweight and share the host’s operating system. They are isolated from each other and connected via Docker volumes, where their data is stored.

  • Start Docker service: systemctl enable docker
  • Stop Docker service: systemctl stop docker
  • Show all running containers: docker ps
  • Start individual container: docker start <container-name>
  • Stop individual container: docker stop <container-name>

To execute OTOBO-specific commands within a Docker container, enter the otobo_web_1 container using an interactive terminal:

Terminal window
docker exec -it otobo_web_1 bash

Inside this container, you can then execute OTOBO commands to perform various administrative and maintenance-related tasks.

Executing Functions within the Docker Container

Section titled “Executing Functions within the Docker Container”

Using OTOBO within a Docker container opens up the possibility of executing a variety of commands directly, which simplifies the management and maintenance of OTOBO. Here is an overview of some of the available commands:

::: details OTOBO Console Commands The core of OTOBO’s command-line interface (CLI) is otobo.Console.pl, a powerful tool that can be used to perform administrative tasks directly from the command line. Some of the most common uses include:

  • Help: Displays help for existing commands.
  • List: Lists available commands.
  • Search: Searches for commands.

Admin-specific commands allow you to control various aspects of OTOBO directly, such as:

  • Admin::Config::Update: Updates the value of a setting.
  • Admin::Package::Install: Installs an OTOBO package.
  • Admin::User::Add: Adds an agent.

For developers, there are a number of commands to support development and testing:

  • Dev::Code::Generate::ConsoleCommand: Generates a skeleton for a console command.
  • Dev::Tools::CacheBenchmark: Runs a benchmark across the available cache backends.

For the care and maintenance of OTOBO, the following commands can be used:

  • Maint::Cache::Delete: Deletes cache files created by OTOBO.
  • Maint::Config::Rebuild: Rebuilds the OTOBO system configuration.

:::

::: details Developer and Maintenance Tools In addition to administrative tasks, OTOBO also supports specific commands for developers and system maintenance:

  • Dev::Package::Build: Creates an OTOBO package file (opm) from an OTOBO package source (sopm).
  • Maint::Log::Clear: Clears the OTOBO logbook.

These commands support developers in creating and managing their OTOBO modules and help system administrators maintain the system. :::

::: details Migration and Updates For migrating from OTRS to OTOBO or updating OTOBO versions, special commands are available:

  • Dev::Tools::Migrate::OTRSToOTOBO: Creates clean OTOBO source files from OTRS source code or an OTRS OPM package.
  • Admin::Package::UpgradeAll: Upgrades all OTOBO packages to the latest versions from the online repositories.

These commands facilitate the transition to OTOBO and ensure that your system is always up to date. :::

Using these commands within the OTOBO Docker container offers administrators and developers a flexible and powerful way to manage, customize, and extend their OTOBO installation.

Below you will find other useful Docker commands that can be helpful for managing the OTOBO ticket system:

  • Show container logs: To see the logs of a specific container, use docker logs <container-name>. This can be particularly helpful for diagnosing issues.

  • Show container list: To show all containers (running and stopped), use docker ps -a.

  • Show Docker images: With docker images, you can view all Docker images available on your system.

  • Create Docker volume: Volumes are the preferred mechanism for the persistence of data generated and used by Docker containers. Create a volume with docker volume create <volume-name>.

  • Show Docker networks: With docker network ls, you get a list of all Docker networks on your system.