OTOBO Hosting & Managed Operations
Softoft manages system architecture, container operations, 24/7 monitoring, automated backups, and continuous updates.
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:
otobo_web_1: The web server.otobo_redis_1: Caching for improved performance.otobo_db_1: The database (MariaDB).otobo_daemon_1: Background services for OTOBO.otobo_elastic_1: Elasticsearch for full-text search.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.
systemctl enable dockersystemctl stop dockerdocker psdocker start <container-name>docker stop <container-name>To execute OTOBO-specific commands within a Docker container, enter the otobo_web_1 container using an interactive terminal:
docker exec -it otobo_web_1 bashInside this container, you can then execute OTOBO commands to perform various administrative and maintenance-related tasks.
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:
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:
Admin-specific commands allow you to control various aspects of OTOBO directly, such as:
For developers, there are a number of commands to support development and testing:
For the care and maintenance of OTOBO, the following commands can be used:
In addition to administrative tasks, OTOBO also supports specific commands for developers and system maintenance:
These commands support developers in creating and managing their OTOBO modules and help system administrators maintain the system.
For migrating from OTRS to OTOBO or updating OTOBO versions, special commands are available:
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.
OTOBO Hosting & Managed Operations
Softoft manages system architecture, container operations, 24/7 monitoring, automated backups, and continuous updates.
Using Docker for your OTOBO installation offers significant advantages, making it a highly recommended approach, especially for production environments. Docker provides an isolated and reproducible environment, ensuring that your OTOBO instance runs consistently regardless of the underlying host system. This isolation simplifies the installation process, allowing for quick setup within minutes, and streamlines future updates. It also enhances system stability by preventing conflicts with other software on the host. The containerization ensures high consistency and isolation, which is crucial for maintaining a reliable helpdesk system.
Quellen / Sources:
In a typical Dockerized OTOBO environment, the system is distributed across several specialized containers, each serving a distinct function to ensure optimal performance and modularity.
otobo_web_1: This container hosts the web server, which serves the OTOBO user interface and handles incoming requests.otobo_redis_1: Dedicated to caching, Redis significantly improves OTOBO's performance by storing frequently accessed data in memory.otobo_db_1: This container manages the primary database, typically MariaDB, where all OTOBO's operational data is stored persistently.otobo_daemon_1: It runs the background services and daemons essential for OTOBO's automated tasks, such as ticket processing, notifications, and scheduled jobs.otobo_elastic_1: This container provides Elasticsearch, enabling powerful full-text search capabilities across your tickets and articles.otobo_nginx_1 (optional): Nginx can be deployed as a reverse proxy, primarily used for handling HTTPS connections and improving security and load balancing.Quellen / Sources:
To execute OTOBO-specific commands, you first need to access the otobo_web_1 container, which is where the OTOBO application logic resides. You can do this by opening an interactive terminal session into the container using the command: docker exec -it otobo_web_1 bash. Once inside the container, you can utilize otobo.Console.pl, which is OTOBO's powerful command-line interface (CLI) tool. This tool allows you to perform a wide range of administrative and maintenance tasks. For example, you can use Admin::Config::Update to modify system settings, Admin::Package::Install to install new OTOBO packages, or Maint::Cache::Delete to clear cache files, which is often useful after configuration changes. Developers can also generate console command skeletons using Dev::Code::Generate::ConsoleCommand.
Quellen / Sources:
Managing your Dockerized OTOBO environment effectively requires familiarity with several key Docker commands. To oversee your containers, you can use docker ps to display all currently running containers, or docker ps -a to list all containers, including those that are stopped. For starting or stopping individual OTOBO components, docker start <container-name> and docker stop <container-name> are indispensable. When troubleshooting, docker logs <container-name> provides access to the container's output, which is crucial for diagnosing issues. Data persistence in Docker is typically handled via volumes; you can create new volumes with docker volume create <volume-name>. Additionally, docker images shows all Docker images present on your system, and docker network ls lists all Docker networks, which is useful for understanding container connectivity.
Quellen / Sources:
Yes, running OTOBO with Docker is highly suitable and, in fact, often recommended for production environments. Many teams successfully deploy OTOBO using Docker or Docker Compose due to the benefits of containerization, such as isolation, reproducibility, and simplified management. For production use, it's crucial to plan carefully for several aspects:
Quellen / Sources:
Docker significantly facilitates both OTOBO version updates and migrations from OTRS by providing a consistent and isolated environment. For updating OTOBO, you can leverage the Admin::Package::UpgradeAll command within the otobo_web_1 container, which upgrades all installed OTOBO packages to their latest versions from online repositories. Docker's containerization ensures that the update process has a predictable environment, reducing the risk of conflicts with the host system. For migrations, especially from OTRS to OTOBO, the Dev::Tools::Migrate::OTRSToOTOBO command is available. This command helps create clean OTOBO source files from existing OTRS source code or OPM packages. Running such migration tools within a Docker container ensures that all necessary dependencies are met and the migration process is contained, making it easier to manage and revert if necessary. This approach contributes to a smoother and more reliable transition or upgrade path for your helpdesk system.
Quellen / Sources: