Running RT inside Docker containers provides:
Simplified Deployment – No need to manually install all Perl dependencies and compile libraries. Docker images already contain them.
Isolation – Keeps RT and its dependencies separated from your host OS, avoiding conflicts with other apps.
Portability – You can run RT on any server with Docker, regardless of OS differences.
Scalability – Easier to scale or replicate in production (e.g., staging/production environments).
Easier Upgrades/Backups – RT, database, and webserver can be managed as separate containers.
Sarthak VarshneyPosted Sep 23, 2025, 3:54 AM
To install and set up a dockerized Request Tracker 5 (RT5) instance, the easiest way is to use a pre-built Docker Compose configuration. This bundles RT5, a database, and a web server into separate containers, so you don’t have to manually deal with dependencies.
Prerequisites
Docker installed
Docker Compose installed
Step 1: Clone the RT5 Docker repository
This repo includes ready-to-use setups for both development and production.
Step 2: Copy example configs
Step 3: Configure RT
Open
RT_SiteConfig.pmand adjust:$RT::WebURL→ your public RT URL (e.g.,http://your-rt-hostname.com/rt/)Database settings if you’re not using the local DB provided
Step 4: Configure email & web server
Edit
msmtp/msmtp.confwith your SMTP server details for outgoing mailAdjust
Caddyfileif you need SSL or reverse proxyStep 5: Start containers
For production (uses external DB/SMTP):
For development (includes local PostgreSQL, good for testing):
Step 6: Access RT
Dev mode:
http://localhostProd mode: Use the URL you set in
RT_SiteConfig.pmStep 7: First login
Default credentials:
On first login, you’ll be prompted to change the root password and finish the setup.
This approach gives you an RT5 environment that’s portable, easy to maintain, and much simpler to upgrade or back up compared to a manual install.
Tuhin PaulPosted Sep 23, 2025, 9:38 AM
Part 2
So it redesigned their architecture using Docker Compose + Kubernetes:
After implementation, they set up the following structure:
Each client is provided with a dedicated Git repository that includes their custom
docker-compose.yml, RT plugins, and configuration files. The CI/CD pipeline, powered by GitHub Actions, builds a client-specific RT Docker image, which is tagged with a unique version (e.g.,complianceguard/rt-client1:v2.1.3).Deployments are managed via ArgoCD, which deploys to regional Kubernetes clusters across various cloud providers (such as AWS in EU-Central-1, GCP in Asia-Southeast1, etc.).
The solution is built as a multi-tenant SaaS compliance product, where each client operates their own isolated, auditable, and containerized instance of RT.
Tuhin PaulPosted Sep 23, 2025, 9:37 AM
A fintech startup, developed an AI-powered regulatory compliance platform tailored for mid-sized banks and neobanks across the EU and APAC regions. Their core offering was designed to automatically detect suspicious transactions (such as potential money laundering), generate comprehensive audit trails, and trigger internal tickets for compliance teams to investigate.
To manage compliance investigations effectively, ComplianceGuard chose Request Tracker (RT) as their ticketing engine. RT was selected not only for its open-source flexibility and robust feature set but also for its support for custom fields, email integration, audit logging, and workflow automation. Initially, RT was deployed on bare-metal servers within the company’s own data center. However, as the platform scaled to support over 12 clients across five different countries, several operational challenges began to surface.
Due to strict data sovereignty regulations—for example, German clients requiring data to remain within Frankfurt—each client required a fully isolated RT instance. This added significant overhead to deployment and management. The complexity further escalated when installing and managing RT across diverse environments: Ubuntu 20.04, 22.04, CentOS, and even RHEL 8. The team encountered extensive dependency conflicts and package mismatches, leading to what was described internally as “dependency hell,” severely hampering scalability and maintainability.