Skip to content

Minimal, zero-dependency, distroless docker container for a one-page HTML default backend, useful as the default rule for any load balancer.

License

Notifications You must be signed in to change notification settings

meysam81/default-backend

Repository files navigation

Default Backend

One-page HTML distroless docker container for default backend, useful as the default rule for any load balancer.

Docker Pulls Docker Image Size Renovate Code Size Repo Size Language Count

Overview

A lightweight, security-focused 404 page served from a distroless container, perfect for use as a default backend in load balancers and Kubernetes ingress controllers.

Features dark mode support and responsive design while maintaining minimal footprint.

Features

  • 🌓 Automatic dark/light mode based on system preferences
  • 📱 Fully responsive design
  • 🔒 Distroless container for minimal attack surface
  • 🚀 Extremely lightweight (~2MB image size)
  • 🎨 Clean, modern UI
  • ⚡ Zero dependencies
  • 🌐 System font stack for optimal performance

Quick Start

docker run -dp 8000:8000 --name default-backend \
  ghcr.io/meysam81/default-backend

Then visit http://localhost:8000

Usage with Load Balancers

Nginx

server {
    listen 80 default_server;
    server_name _;

    location / {
        proxy_pass http://localhost:8000;
    }
}

Kubernetes Ingress

There's an officially supported Kustomization stack at the following URL:

https://github.com/meysam81/kustomizations/tree/main/default-backend

Security

  • Built on Google's distroless container
  • No shell access
  • Minimal base image
  • No external dependencies
  • Regular security updates

Development

To modify the page:

  1. Edit the public/index.html file
  2. Build the container:
docker build -t default-backend .

License

Apache 2.0, see LICENSE.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

Visual

The page looks like below:

Index Page!