Hosting and orchestrating multiple RT instances on one server

Hello,

We want to be able to host multiple RT instances on one physical server.
We would also like to be able to orchestrate these instances through a GUI - create new ones instances, check the status of others, etc.

I understand that orchestration would be best done through some RT API or the CLI and custom scripts to install and move files where necessary. The GUI would probably need to be written from scratch.

Does anyone here have experience on hosting multiple instances on one server and could give me tips on where to start? Maybe orchestration would be much easier using Docker and Kubernetes?

Best regards,
Ansis

I assume docker wouldn’t be the solution since the server would already be spun up when you’re trying to create a new RT right?

So multiple RTs installed to /opt/rt-<something> maybe you could somehow cut down duplicated code I am not sure. Basically you need each RT to have a virtualhost in Apache that points to the correct /opt/rt5/sbin/rt-server.fcgid and then the config for that install needs to point to the correct db

Ok, installing multiple RT’s to /opt sounds straightforward.
I read on the forums something about the “Perl machine global state” that causes issues. Is this something to be worried about? Or could I literally just make multiple RT folders, multiple DBs, multiple Apache vhosts from different domains/TCP ports and we’re good to go?
Would postfix sendmail need some special configuration?

“Perl machine global state”

I am not familiar with this, I’d just use one standalone Perl install for all the RTs.

Or could I literally just make multiple RT folders, multiple DBs, multiple Apache vhosts from different domains/TCP ports and we’re good to go?

I think that should work

Would postfix sendmail need some special configuration?

I think so long as it can access all the email addresses and routes correctly to the right rt-mailgate per RT you should be okay

I assume docker wouldn’t be the solution since the server would already be spun up when you’re trying to create a new RT right?

By the way, what did you mean by this? Would it be unwise to divide the RT instances into separate httpd+RT containers that connect to one database? Would it be simpler to develop a new administration panel that performs the installations to the /opt directory?

to archive that you can try to use docker with nginx or haproxy or any other l7 load balancer in front.
good place to start could be Docker Hub