selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

OTOBO logo

Self-host OTOBO

rel-11_1_1

Web-based ticketing for IT service management

ReleaseOpen SourceGPL-3.0
Updated9 hours ago
LanguagePerl
Setup difficultyAdvanced
Stars
338
CPU
small CPU (test) / 3 GHz Xeon or comparable (production)
RAM
4 GB (test) / 8 GB (production, 16 GB recommended)
Storage
10 GB (test) / 40 GB (production)
Ports
80 (HTTP web interface (redirects to HTTPS when enabled)), 5000 (Internal Gazelle Perl webserver port)
Requires
MariaDB, Nginx, Perl
Docker
rotheross/otobo
Install with Docker Compose
OTOBO screenshot 1OTOBO screenshot 2OTOBO screenshot 3

What is OTOBO?

OTOBO is a web-based open-source ticketing system forked from OTRS Community Edition in 2019. It serves IT helpdesks, customer service centers, and call centers with classical ticketing, a knowledge base with internal and external interfaces, process automation, and an ITSM extension with a configuration management database (CMDB) for tracking IT assets. The software runs on Linux and Unix systems (Windows not supported) and can be deployed via Docker Compose (recommended) or native installation on Ubuntu and RHEL. The Docker stack includes MariaDB, Elasticsearch for fast search, Redis for caching, Gazelle Perl webserver, and optional Nginx reverse proxy for HTTPS. Authentication supports built-in users, LDAP/Active Directory, and Kerberos single sign-on. The platform offers a modern agent interface and a whitelabel self-service portal for customers and employees. Professional services including consulting, training, support, and managed hosting are available from Rother OSS GmbH.

Should you self-host OTOBO?

OTOBO scores 54/100 on selfhost.directory (how scoring works) and ranks #5 of 9 in Helpdesk. It has 338 GitHub stars.

It shipped 2 stable releases in the past year. The latest, rel-11_0_15, came out on 4 February 2026. New versions land roughly every 2 months.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Perl.

Its closest alternative on selfhost.directory is Zammad (70/100, 6 044 stars). It scores higher overall, so compare the two before you pick. See OTOBO vs Zammad side by side.

Features

  • Customer Satisfaction Surveys (CSAT/NPS)
  • Draft Mode for Emails and Notes
  • Email Filtering (Postmaster)
  • Internal and External Notes
  • ITSM with CMDB
  • Knowledge Base / FAQ
  • Multi-channel Communication
  • Process Automation
  • REST & SOAP API (Generic Interface)
  • Role-based Access Control (ACLs)
  • Self-service portal
  • Team Calendars & Automatic Scheduling
  • Ticket Management

OTOBO README

How to install OTOBO

Install OTOBO with Docker Compose

Environment variables
OTOBO_DB_ROOT_PASSWORD, OTOBO_WEB_HTTP_PORT, OTOBO_WEB_HTTPS_PORT, OTOBO_NGINX_SSL_CERTIFICATE, OTOBO_NGINX_SSL_CERTIFICATE_KEY, OTOBO_PROXY_SECRET, Kerberos settings, COMPOSE_PROJECT_NAME, COMPOSE_FILE, OTOBO_IMAGE_*

cd /opt git clone https://github.com/RotherOSS/otobo-docker.git --branch cd otobo-docker cp -p .docker_compose_env_https .env

Edit .env and set OTOBO_DB_ROOT_PASSWORD

docker volume create otobo_nginx_ssl

Copy SSL cert/key to volume

docker compose up --detach

Run installer at http://OTOBO_FQDN/otobo/installer.pl

Recommended installation method. Includes MariaDB, Elasticsearch, Redis, Gazelle webserver, and optional Nginx reverse proxy.

How to configure OTOBO

  • COMPOSE_FILEdocker-compose/otobo-base.yml:docker-compose/otobo-override-https.ymlDocker Compose file list

    Docker Compose file list

    values: Colon-separated list of compose files

  • COMPOSE_PROJECT_NAMEotoboDocker Compose project name prefix

    Docker Compose project name prefix

    values: Any string

  • NGINX_ENVSUBST_TEMPLATE_DIRCustom Nginx config template directory

    Custom Nginx config template directory

    values: /etc/nginx/config/template-custom

  • OTOBO_DB_ROOT_PASSWORDRoot password for MariaDB database

    Root password for MariaDB database

    values: Any secret password

  • OTOBO_Elasticsearch_ES_JAVA_OPTSElasticsearch JVM heap settings

    Elasticsearch JVM heap settings

    values: e.g. -Xms512m -Xmx512m (up to 4g for production)

  • OTOBO_IMAGE_OTOBOCustom OTOBO Docker image

    Custom OTOBO Docker image

    values: Docker image reference

  • OTOBO_IMAGE_OTOBO_ELASTICSEARCHCustom Elasticsearch Docker image

    Custom Elasticsearch Docker image

    values: Docker image reference

  • OTOBO_IMAGE_OTOBO_NGINXCustom Nginx Docker image

    Custom Nginx Docker image

    values: Docker image reference

  • OTOBO_NGINX_KERBEROS_ADMIN_SERVERKerberos admin server

    Kerberos admin server

    values: Admin server hostname

  • OTOBO_NGINX_KERBEROS_CONFIG/etc/krb5.confKerberos config file path

    Kerberos config file path

    values: Path to krb5.conf

  • OTOBO_NGINX_KERBEROS_DEFAULT_DOMAINKerberos default domain

    Kerberos default domain

    values: Default domain name

  • OTOBO_NGINX_KERBEROS_KDCKerberos KDC / AD Controller

    Kerberos KDC / AD Controller

    values: KDC hostname

  • OTOBO_NGINX_KERBEROS_KEYTAB/etc/krb5.keytabKerberos keytab file path

    Kerberos keytab file path

    values: Path to keytab file

  • OTOBO_NGINX_KERBEROS_REALMKerberos realm

    Kerberos realm

    values: Kerberos realm name

  • OTOBO_NGINX_SSL_CERTIFICATESSL certificate path for Nginx reverse proxy

    SSL certificate path for Nginx reverse proxy

    values: /etc/nginx/ssl/acme.crt

  • OTOBO_NGINX_SSL_CERTIFICATE_KEYSSL private key path for Nginx reverse proxy

    SSL private key path for Nginx reverse proxy

    values: /etc/nginx/ssl/acme.key

  • OTOBO_PROXY_SECRETSecret for proxy authentication (Kerberos SSO)

    Secret for proxy authentication (Kerberos SSO)

    values: Any secret string

  • OTOBO_WEB_HTTP_PORT80HTTP port for web interface (default 80)

    HTTP port for web interface (default 80)

    values: Any valid port number

  • OTOBO_WEB_HTTPS_PORT443HTTPS port for web interface (default 443)

    HTTPS port for web interface (default 443)

    values: Any valid port number

OTOBO releases & version history

More in Ticketing System

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…