install icon indicating copy to clipboard operation
install copied to clipboard

feat: allow multiple Postal instances to run on the same host

Open danquinney opened this issue 1 year ago • 3 comments

This pull request adds support for running multiple Postal instances on the same machine. Each install would have its own install and config directories, and it would be recommended that each instance have a unique Postal symlink.

git clone https://github.com/postalserver/install /opt/postal-test/install
sudo ln -s /opt/postal-test/install/bin/postal /usr/bin/postal-test

# Set the unique project name
echo postal-test > /opt/postal-test/install/docker-project-name

# Bootstrap
postal-test bootstrap postal.example.com /opt/postal-test/config

danquinney avatar Mar 16 '24 17:03 danquinney

Did you need the next layer of abstraction beyond limiting users to specific organisation(s)?

I'm not sure how this would work since presumably each instance of Postal would be trying to listen on the same ports? You would have to go through an awful lot of manual configuration to make each running set of containers happy.

Also only one would be able to listen to the real port 25 so incoming email wouldn't work for the majority of copies of Postal?

I also imagine that the resources of the host would be used quite wastefully if some of the sets of containers weren't doing much.

willpower232 avatar Mar 18 '24 08:03 willpower232

Hi Will.

Good points raised and answered inline.

Did you need the next layer of abstraction beyond limiting users to specific organisation(s)?

Indeed we do, we need unique DNS mainly, SPF, return paths etc.

I'm not sure how this would work since presumably each instance of Postal would be trying to listen on the same ports? You would have to go through an awful lot of manual configuration to make each running set of containers happy.

We use HAProxy outside of the Postal hosts so we're fine with running the containers for each install on different ports, with unique config, certificates etc.

Also only one would be able to listen to the real port 25 so incoming email wouldn't work for the majority of copies of Postal?

I also imagine that the resources of the host would be used quite wastefully if some of the sets of containers weren't doing much.

Possibly, but certainly not as wasteful as having to run full installs each with its own N+X MariaDB Galera/Postal clusters.

Cheers. Dan

danquinney avatar Mar 18 '24 09:03 danquinney

Is there any specific reason to use - {{config-dir}}:/config but not to use a relative path such as - ../config:/config?

TheBlueKingLP avatar Sep 25 '24 18:09 TheBlueKingLP