diff --git a/docs/changelog.d/feature-fly-proxy-error-page.feature.md b/docs/changelog.d/feature-fly-proxy-error-page.feature.md new file mode 100644 index 0000000..1939d19 --- /dev/null +++ b/docs/changelog.d/feature-fly-proxy-error-page.feature.md @@ -0,0 +1 @@ +Fly.io proxy serves a friendly error page when upstreams are unreachable (indri offline, Tailscale tunnel down, etc.). Test at `docs.eblu.me/_error`. diff --git a/fly/Dockerfile b/fly/Dockerfile index 6e6146c..ec0ad99 100644 --- a/fly/Dockerfile +++ b/fly/Dockerfile @@ -17,6 +17,7 @@ COPY --from=docker.io/grafana/alloy:v1.5.1 \ RUN mkdir -p /var/log/nginx /etc/alloy /tmp/alloy-data COPY nginx.conf /etc/nginx/nginx.conf +COPY error.html /usr/share/nginx/html/error.html COPY alloy.river /etc/alloy/config.alloy COPY start.sh /start.sh RUN chmod +x /start.sh diff --git a/fly/error.html b/fly/error.html new file mode 100644 index 0000000..ef31eae --- /dev/null +++ b/fly/error.html @@ -0,0 +1,68 @@ + + +
+ + +The upstream server is not reachable right now. This usually means + the backend is offline for maintenance or the network tunnel is down.
+Services should recover automatically. Please try again shortly.
+