Nobody warned about this gotcha. Now is there any way to recover app.yml? From built container?

AI-generated summary

Romanr experienced an issue with Discourse’s launcher rebuild app command, which created multiple large Docker images and eventually led to a disk space error. While trying to resolve the issue, they accidentally saved a zero-sized containers/app.yml file, losing their configuration. fefrei suggested that without an external backup, recovery is unlikely. A launcher cleanup command is available to clean up old Docker images, but it’s too late in this case.

Every time you change configuration and perform “launcher rebuild app” the docker creates the new image that takes 1.5 GB.
I was editing configuration and tuning the installation, and during one of rebuilds it just hanged forever.
After poking around for a while I found that there is no disk space left due to multiple old docker discourse images left form previous rebuilds.
This is rather big. I know, I know, of course you will say it’s “user’s fault”, you should have known about Docker and so on. But we’re installing Discourse and not Docker. It should not be implied that everyone is expert in docker.
The “launcher rebuild app” should include “docker rmi $(docker images -q -f dangling=true)” at the end to clear old images.

Anyway. While it was out of disk space I was editing containers/app.yml and it saved to zero-sized file.
After that I found out about Docker’s images and deleted them.
But file is lost. Is there a way to recover it somehow? I still have my last good image of Discourse running.

Without an external backup, you’re most likely out of luck.

There is a launcher cleanup command to do the cleanup you suggested, but now it is too late :frowning: