The discussion revolves around achieving high availability (HA) for a Discourse setup under Nginx. Rob_Spencer initially proposes a plan involving readonly mode, backup and restore, and updating Nginx to repoint to a test server. However, he later cancels this plan in favor of using Docker.
Rob_Spencer and pfaffman discuss using a two-container setup to minimize downtime during rebuilds. Rob_Spencer inquires about duplicating containers and running Nginx in both containers.
Rob_Spencer points out a gap in the documentation between installing Discourse and running separate containers. He later figures out how to install a sample into a container by copying a sample into the containers folder and rebuilding the container.
Finally, Rob_Spencer seeks advice on configuring the outer Nginx to point to the correct container. pfaffman suggests putting each instance on a different port and configuring Nginx to use the available one.
I have prod server running discourse under nginx, which I need to install some plugins on. For various reasons, I can’t afford any downtime. There is also a test server running the same setup.
My plan is:
Enable readonly mode in prod.
Backup and restore to test, (restore from tombstone for the images)
Update nginx on the prod box to repoint to test.
Install plugins and rebuild
Update nginx to point back to prod
Disable readonly mode in prod
Shutdown test app
How does that sound? What am I missing?
Happy to turn this into a How To… if there’s value in that
The only thing I need to figure out now is how to make the outer nginx point to the right container, as the inner nginx is sitting in the shared container.