Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

danquinney
Copy link

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

@willpower232
Copy link

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.

@danquinney
Copy link
Author

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

@TheBlueKingLP
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants