Rebuild friert ein, wenn versucht wird, den Container zu stoppen

I received my first You are running an old version of the Discourse image. Upgrades via the web UI are disabled until you run the latest image message today and I think I’ve broken my installation.

I followed the instructions, running each command as sudo because my hosting provider doesn’t permit the creation of root users.

cd /var/discourse
sudo git pull
sudo ./launcher rebuild app

I then had to re-run with sudo git stash before the pull as there was an error regarding clashes.

Everything seemed to progress ok (I left it over an hour) but then my Terminal session closed (broken pipe error). To overcome, I set ClientAliveInterval on the server to 60 as this was commented out, restarted, and tried again.

When the rebuild script now runs, it crashes when it goes to stop the docker container.

I tried to get around this by running docker kill <id> before running the rebuild script, but the same crash occurs (CPU at 100% for about 15mins…then nothing for hours).

When I reboot the site still comes up, but I’m unable to update it (the UI updater still says I’m running an old Discourse image).

Any advise gratefully received.

It’s rather hard to guess without seeing the output of the build.

You might try using tmux (or similar) to keep the session open when you get disconnected (you can reconnect to the session with tmux attach).

Maybe have a look at PostgreSQL 13 update?

1 „Gefällt mir“

Thanks Jay, I think I’ve found the issue.

My VPS provider, webdock.io (who are great by the way) don’t support zfs because they use it at the host level; I’m advised nested zfs is a no go. They also didn’t recommend overlay2 for my install and suggested I edit launcher to include the vfs storage driver, which isn’t there by default.

171‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ Storage Driver: (vfs|aufs|zfs|overlay2)
‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎‏‏‎ ‎‏‏‎ ‏‏‎‎‏⬆️

I suspect sudo git pull overwrote this, and then I tried to rebuild with the wrong storage driver?

I’ve just rolled everything back and then re-edited launcher before running rebuild app and everything is working again.

cd /var/discourse
sudo git stash
sudo git pull
sudo nano launcher 

‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎ then edit line 171 to include vfs

sudo ./launcher rebuild app

1 „Gefällt mir“

Hallo @ajmuir,
ich weiß, dass du dein Problem vor über einem Jahr gelöst hast, aber ich wollte meinen Senf zu dieser Diskussion hinzufügen und auch neuen Benutzern, die diesen Thread finden, den richtigen Weg weisen.

Webdock empfiehlt (jetzt) die Verwendung von fuse-overlayfs als Docker-Speichertreiber: How to change the Docker storage driver – Webdock

Grund dafür ist, dass vfs eine hohe Festplattenauslastung verursacht.

Die Verwendung von fuse-overlayfs für Docker führt jedoch zu einer Warnung oder einem Fehler auf der Seite des Discourse-Launchers, da es kein empfohlener Treiber ist.

Ich habe detaillierte Anweisungen, wie du dieses Problem lösen kannst, in diesem Beitrag auf meinem Blog: Deploying Discourse on a Webdock server

Du kannst es auch so machen, wie du es getan hast, indem du den installierten Treiber zur egrep-Anweisung hinzufügst.

Und warum sagst du, dass Webdock die Erstellung von Root-Benutzern nicht erlaubt?
Du kannst einfach mit sudo su zu root wechseln und danach die Befehle aus der Discourse-Installationsanleitung ausführen.