↑ ↓ to select, Enter to open

Developerslive

Error Pages

Friendly error pages instead of a bare 502.

In short

Error Pages serves a clear page for every common HTTP error behind your reverse proxy, plus a maintenance page you switch on and off while it runs. Five themes, four languages with automatic detection. No external requests, no cookies, no tracking.

Who is it for?
Anyone who runs websites or services behind a reverse proxy and wants to show visitors better error pages.
Runs on
DockerTraefikingress-nginxReverse proxy
What does it cost?
Nothing. The source is open, under the MIT license.

What it’s about

A backend goes down and your visitors see a bare line of text. Or no route matches and they get a default page nobody understands. It is not the end of the world, but it feels careless.

Error Pages is a small container that serves a clear page for every common error behind your reverse proxy. In your visitors’ language, with no setup and no data sent to third parties. On top of that there is a maintenance page you switch on while you work on something.

What it does

Pages

  • Pages for 400 to 505, plus a generic page for any other 4xx or 5xx code.
  • Five themes: glass, terminal, classic, status and clean. A random one on every load, if you like.
  • German, English, Polish and French, detected automatically and switchable on the page.
  • Your own footer links and copyright, optionally with time, host and request ID.
  • API clients get JSON or plain text instead of HTML.

Maintenance

  • Switch the maintenance page on and off while it runs.
  • Optionally with an end time. Visitors see when you expect to be back, and a Retry-After header is sent.

Privacy and accessibility

  • No external requests, no cookies, no tracking.
  • Every page is self-contained and arrives in a single request.
  • Works without JavaScript, from 320 px wide, and respects reduced motion.
  • A very small image that runs read-only and as a non-root user.

Getting started

To try it:

docker run -p 8080:8080 noixdev/error-pages

Then open, for example, http://localhost:8080/502.html. How to put Error Pages behind Traefik or another reverse proxy, and every option, is in the documentation. New themes and translations are welcome on GitHub.

Error Pages compared

We like the other tools too. Here they are, side by side and honest.

Error Pagestarampampam/error-pagesnginx default pagesTraefik without an error page service
Designed pages for the common error codes✓yes✓yes–no–no
Choice of designs5 themes11 templates–no–no
Multilingual4 languages, detected automatically15+ languages–no–no
Maintenance page you switch at runtime✓yes–noonly with your own configonly with your own config
Works without an extra container–no–no✓yes✓yes

As of November 2026. No guarantee of accuracy; corrections welcome as an issue.

When something else fits better

Not every tool fits every job. In these cases we'd point you somewhere else ourselves:

Frequently asked questions

How do I get custom error pages in Traefik?

Run Error Pages as a container and attach Traefik's errors middleware to your routers. A low-priority catch-all router also shows the 404 page for anything nothing else matches.

Is Error Pages an alternative to tarampampam/error-pages?

Yes, both do the same basic job. Error Pages has fewer templates but comes with a maintenance page you switch while it runs.

How do I turn on the maintenance page?

With docker exec error-pages /error-pages maintenance on, optionally with --until and a time. While it is on, every 5xx page is replaced by the maintenance page.

Does the page load external fonts or scripts?

No. Styles, fonts and scripts travel inside the page. It arrives complete in a single request, even when everything behind it is down.

Which languages are there?

German, English, Polish and French. The language comes from the browser, from ?lang= or from the visitor's saved choice.

Does it work with ingress-nginx?

Yes. Proxies that pass the status in an X-Code header, such as the ingress-nginx custom error backend, are supported.

Something broken, or missing?

An issue in the repository is the quickest way. For wishes and questions too.

Open an issue

Rather ask directly?

Our Discord is where we help out, and so do other people who use the tool.

Join the Discord

From the logbook

  1. New: Error Pages, self-hosted error pages

    Friendly, fast error pages for your websites and services. With five themes, four languages and a maintenance page you can switch on and off.

    New project

You might also like