Launcher rebuild app fails with "containers/app.yml does not exist"

AI-generated summary

User rlauriston encountered an error while attempting to rebuild the Discourse app via ./launcher rebuild app, receiving the message “containers/app.yml does not exist”. The issue arose because the installation uses a two-container setup (web_only and data), not the standard single-container “app”. JammyDodger identified the configuration and advised running ./launcher bootstrap web_only && ./launcher destroy web_only && ./launcher start web_only instead. rlauriston confirmed this resolved the issue, noting they had previously used only the web UI for updates and were unaware of the two-container structure. The installation was originally set up by pfaffman, who referenced additional guidance at Managing a Two-Container Installation JammyDodger. pfaffman also offered access to a rebuilds program via dashboard.literatecomputing.com, including a free trial option for dashboard use without direct support. The server runs on a Digital Ocean droplet with Ubuntu Jammy.

The upload page told me:

Updates via the web UI are disabled until you run the latest image. To do so log in to your server using SSH and run:

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

The first time it ran for a while and then ended with the error. If I try again I get:

./launcher rebuild app
x86_64 arch detected.
ERROR: containers/app.yml does not exist or is not readable.

Available configs ( data, mail-receiver, web_only )

The file does not exist:

ls -al containers
total 28
drwxr-xr-x  3 root root 4096 Jan 15 18:12 .
drwxr-xr-x 12 root root 4096 Jun 19 17:34 ..
-rw-r--r--  1 root root    0 Jun 11  2023 .gitkeep
-rw-------  1 root root 1175 Jun 27  2023 data.yml
drwxr-xr-x  2 root root 4096 Jun 27  2023 delete
-rw-r--r--  1 root root 2306 Jan 15 18:12 mail-receiver.yml
-rw-------  1 root root 6304 Jan  2 20:39 web_only.yml

Running in a Digital Ocean droplet.

It looks like you have a two-container setup rather than the usual one container called app.

For a two-container setup I believe you would need to run:

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

Though usually people with a two-container setup are aware of the difference. Is this the first time you’ve updated since you installed?

I’ve used the automatic update in the web UI but never got the message about ./launcher rebuild app before.

@pfaffman did the installation.

Ah, yes. I think he has some instructions with some extra detail in - Managing a Two-Container Installation - Documentation - Literate Computing Support

Seems like that command worked, thanks.

Glad you got it figured out!

You can also sign up for my rebuilds program and do it with a click from dashboard.literatecomputing.com. You can also join the free trial group and use the dashboard for free, though without my support (except when I give it for free here!)