Managing a Two-Container Installation

If you have a Pro Install or I converted your site to a 2-container installation managing things is a bit different than a simple single-container installation.

How Do I Upgrade?

The big advantage of the 2-container installation is that you can build a new container while the old container keep running, this minimizing down time, as it is limited to the time that it takes the new container to crank up. Here’s what to do:

./launcher bootstrap web_only && ./launcher destroy web_only && ./launcher start web_only

If something goes wrong in the bootstrap process your old container will continue running and you can work out whatever the problem is (an errant plugin?) without the trauma of having your site down.

What about data.yml do I need to update it?

Not very often; Postgres upgrades typically happen less than once a year (they usually skip every other major release) and even when an upgrade becomes supported, it is even longer before an old version of Postgres is no longer supported. If you do need to upgrade, you should get some kind of notification or have your web container rebuild. If you do need to upgrade the data container, you’ll do a simple

./launcher rebuild data

There is no harm in doing a data container rebuild. Note that Discourse cannot function without its database, so your site will be down while the database container is rebuilt.

I have a napp.yml in my containers directory. Should it be running?

No. That is your old app.yml file, which I renamed napp.yml (like not app.yml, a bit too clever and confusing). In the future, I’ll rename this something like app.old to hopefully minimize confusion.

1 Like