Skip to content

OTOBO Ticket System with Docker

Introduction to OTOBO with Docker

Using Docker with OTOBO offers a flexible and efficient method to run the ticket system in an isolated environment. This guide walks you through the basic steps of installing and managing OTOBO with Docker.

Key Differences Between OTOBO and Znuny

There are important Docker-related differences between OTOBO and Znuny: Differences between Znuny and OTOBO

Installation with Docker

The OTOBO helpdesk can be installed either directly or via Docker. Docker allows for a quick setup and ensures high consistency and isolation of the environment through containerization.

Docker Containers in OTOBO

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.

What are Docker Containers?

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

Important Docker Commands for OTOBO

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

Executing OTOBO Docker Commands

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

bash
docker exec -it otobo_web_1 bash

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

Executing Functions Inside the Docker Container

Using OTOBO inside a Docker container opens up the possibility of directly executing a variety of commands that simplify the administration and maintenance of OTOBO. Here is an overview of some of the available commands:

OTOBO Console Commands

The core of OTOBO's Command-Line Interface (CLI) is otobo.Console.pl, a powerful tool that can be used for performing 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.

OTOBO Admin Commands

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

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

OTOBO Development Tools

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 on the available cache backends.

Maintenance Commands for OTOBO

The following commands can be used for the care and maintenance of OTOBO:

  • Maint::Cache::Delete: Deletes cache files created by OTOBO.
  • Maint::Config::Rebuild: Rebuilds OTOBO's system configuration.
Developer and Maintenance Tools

In addition to administrative tasks, OTOBO also supports specific commands for developers and for 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.

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: Updates 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.

Advanced Docker Commands

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

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

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

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

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

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