Show an error page when rebuild


(Michael Solomon) #1

Hi,
When I “./launcher rebuild app” my Discourse and try to enter to my Discourse forum, its shows “502 Bad Gateway” error.
I know it’s just 10 minutes but I think it’s more professional to show to our users a pretty error message when we update our Discourse.
Thanks you,
Miki
P.S: sorry for my lame english. working on it!


(Jeff Atwood) #2

Is this even possible on the standard Docker install @sam or @riking?


(Allen - Watchman Monitoring) #3

For things like this, we maintain a fully separate one-page website with the same valid SSL certs as our app/site.

When it’s time for maintenance, we point DNS at that server, do our thing, and point it back. Requires a short TTL to make it worthwhile, but that works for us.

I suppose something like that could be done in a separate docker setup on the same host?


(Kane York) #5

I suppose that the inner NGINX could have a 502 rule to serve a page like this:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="5">
</head>
<body>
The Discourse server is starting up, please wait.....
</body>
</html>

Because if you can see that page at all, it means that the container is running and Unicorn is unreachable.


(Jeff Atwood) #6

Yes why don’t you submit that change. Good idea!


(Sam Saffron) #7

Does not solve much, the issue is that the container must be stopped during rebuild of standalone


(Felix Freiberger) #8

In my use case, that would help a lot: I use nginx running on the host since I serve multiple subdomains. This already shows a nice message while the container is down – but bad gateway still leaks through while the conainer starts up.


(Stephen) #9

This is a band-aid at best.

If NGINX is serving a 502 at all then any customers using services such as Cloudflare will never see that error, they’ll see the 521 error from Cloudflare.