Does web based updates replace rebuilding the container?

I have been doing web based upgrades at admin/upgrade and since I tend to have very high up times, does this replace replace the updates that are done when rebuilding the container with ./launcher rebuild?

Also, when I reboot does the container auto-update itself?

Thanks!

Majority of your updates can be done via the web, once in a few months you need to rebuild to get updates to the base image. If we deem it critical we will force it upon you.

I was just upgrading stuff, and what a timing! I got a error

Discourse requires Ruby 2.5.2 or up
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>

So I guess I’ll stick to rebuilding every week or so. The downtime is bad, but I don’t need to be up 99,9% of the time.

Oh … we got to force a rebuild here I just fixed that so others do not see this issue.

I don’t know if I’m doing something wrong, but I tried to do a rebuild via terminal and I’m getting this:

error: Your local changes to the following files would be overwritten by merge:
        templates/import/mbox.template.yml
        templates/web.ssl.template.yml

But I don’t use those templates, and I do not interact with templates files. I delete them and can proceed, but any idea why this could be happening?

And I’m not sure if you were being sarcastic, I have no reason to lie or anything…

cd /var/discourse
git reset --hard
git pull
./launcher rebuild app

Ok I’m trying to automate this, with a cronjob to rebuild the container after every reboot.

@reboot sleep 300 && /opt/discourse/launcher rebuild app > /root/discord-update.log

It seems to be working, but for some reason the log file get cut after Removing old container.

Is there some kind of recommended way to get automatic updates working?

I had to wait 300 seconds for the docker daemon to start. With this settings it should take 10 min after reboot to be back on air. Rebuilding takes 5 min with a SSD and 2 vCPU.

If you’re concerned about uptime, you should switch to a two container install.

For some reason the output of my script stops redirecting to the file… is there a guide on this two container install?

5 min of downtime every month is still like 99,5% uptime so unless the two container install is easy to do/manage it doesn’t worth it…

For a description see: Move from standalone container to separate web and data containers.

For a normal rebuild/upgrade It’s pretty much the same as a single container install. Rather than

./launcher rebuild app

you do

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

위에서 설명한 대로 개별 데이터 컨테이너로 마이그레이션할 준비를 하고 있습니다.

업그레이드 시 데이터 컨테이너를 업데이트해야 하는 경우가 있나요? 있다면 언제인가요?

또한, 웹 컨테이너 업그레이드 과정에서 데이터 테이블 등 필요한 변경 사항이 자동으로 처리된다고 가정해도 될까요?

Postgres나 Redis에 변경 사항이 있을 때입니다. 이러한 변경 사항이 언제 발생했는지를 파악하는 것은 관리의 문제이며, 이것이 많은 사람들이 2컨테이너 구성이 너무 어렵다고 생각하는 이유입니다. 저는 Postgres와 Redis 버전을 확인하고 변경 사항이 있으면 데이터 컨테이너를 업그레이드하는 스크립트를 가지고 있습니다. 이러한 변경 사항은 1~2년마다 발생하지만, 서브베이스 업그레이드는 조금 더 자주 발생합니다. 일반적으로 13.1에서 13.5로 업그레이드하지 않는 한 큰 문제는 되지 않습니다.

네, 그렇습니다.