Thanks in advance.
I’m planning setup discourse with high availability in production environment. The below are my design plan and some environment condition.
Setup with 3 application servers and 2 Postgres DB servers. Always one PG server on write mode and another in read only mode.
These 3 application servers will points to same DB server.
DB each instances should server read and write only operations respectively.
Production servers doesn’t have internet connectivity but I can pull dockerHub images.
We have our own GitLab server.
Is it possible to bootstrap docker image and that image on multiple servers?
Please anyone help for doing this setup. If any links or suggestions please PM me.
After running ./launcher bootstrap appsomewhere you will need to save that resulting container image (usually done by pushing it to a registry) and then download and run it on your three app servers.
You will also need a central Redis server (and potentially replicas for it). You are also missing a load balancer to direct requests for those different application servers.
Hi @Falco
In my production env, I dont have internet access, so what I am planning is performing bootstrap on Internet accessible machine taking that bootstrap image to production servers. While doing this on production VM container is not coming up because Unicorn server looking some parent process ID so it is not running.
Please help me here, whether do I need copy bootstrap performed /var/discourse dir to production server?
Are you using an external PostgreSQL, Redis and Object Storage? That is expected when doing HA, and both your production servers and the build servers need to have access to those external services.
How are you going to handle multiple app servers and user uploads? A shared network drive between all servers? That may work, but our official solution for that is Object Storage using the S3 API.