All Projects â†’ tarampampam â†’ error-pages

tarampampam / error-pages

Licence: MIT license
🚧 Pretty server's error pages in the docker image & git repository

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to error-pages

nomad-box
Nomad Box - Simple Terraform-powered setup to Azure of clustered Consul, Nomad and Traefik Load Balancer that runs Docker/GoLang/Java workloads. NOTE: Only suitable in dev environments at the moment until I learn more Terraform, Consul, Nomad, Vault :P
Stars: ✭ 18 (-93.92%)
Mutual labels:  traefik
karma-go
Everything has a reason.
Stars: ✭ 15 (-94.93%)
Mutual labels:  errors
DoTH-DNS
Your server doth DNS the safe way if you use DoTH-DNS.
Stars: ✭ 26 (-91.22%)
Mutual labels:  traefik
jack
Run multiple apps on one server with Docker and Traefik.
Stars: ✭ 28 (-90.54%)
Mutual labels:  traefik
beyondauth
a traefik / nginx companion to create an identity aware proxy like beyondcorp
Stars: ✭ 26 (-91.22%)
Mutual labels:  traefik
stonehenge
Multi-project local development environment & toolset on Docker
Stars: ✭ 47 (-84.12%)
Mutual labels:  traefik
traefik-ondemand-service
Traefik ondemand service for the traefik ondemand plugin
Stars: ✭ 35 (-88.18%)
Mutual labels:  traefik
trafficjam
A Docker firewall for your reverse proxy network
Stars: ✭ 79 (-73.31%)
Mutual labels:  traefik
rakered
The open source components from rake.red
Stars: ✭ 28 (-90.54%)
Mutual labels:  errors
errorlocate
Find and replace erroneous fields in data using validation rules
Stars: ✭ 19 (-93.58%)
Mutual labels:  errors
S1EM
This project is a SIEM with SIRP and Threat Intel, all in one.
Stars: ✭ 270 (-8.78%)
Mutual labels:  traefik
cloudflared
Cloudflare Tunnel Instructions and Template for Unraid
Stars: ✭ 129 (-56.42%)
Mutual labels:  traefik
Docker-Dev-Stack
My (self used) Docker Dev Stack (with NginX, PHP, MySQL & more) for different systems. Feel free to use.
Stars: ✭ 22 (-92.57%)
Mutual labels:  traefik
raise if
one liner `raise Exception if condition` for Python
Stars: ✭ 15 (-94.93%)
Mutual labels:  errors
docker-traefik-nextcloud-nginx
docker compose files for traefik nextcloud and nginx
Stars: ✭ 36 (-87.84%)
Mutual labels:  traefik
baghdad
Distributed CI/CD for microservices
Stars: ✭ 15 (-94.93%)
Mutual labels:  traefik
easybuggy4django
EasyBuggy clone built on Django
Stars: ✭ 44 (-85.14%)
Mutual labels:  errors
deeperror
Very informative, enlightening and pleasantly formatted errors for Go
Stars: ✭ 18 (-93.92%)
Mutual labels:  errors
ArgCheck.jl
Package for checking function arguments
Stars: ✭ 73 (-75.34%)
Mutual labels:  errors
docker-pterodactyl
Running Pterodactyl Panel inside docker containers behind Traefik reverse proxy
Stars: ✭ 75 (-74.66%)
Mutual labels:  traefik

banner

22 feb. 2022 - âš¡ Our Docker image was downloaded one MILLION times from the docker hub! âš¡

One day you may want to replace the standard error pages of your HTTP server with something more original and pretty. That's what this repository was created for :) It contains:

  • Simple error pages generator, written in Go
  • Single-page error page templates with different designs (located in the templates directory)
  • Fast and lightweight HTTP server
  • Already generated error pages (sources can be found here, the demonstration is always accessible here)

🔥 Features list

  • HTTP server written in Go, with the extremely fast FastHTTP under the hood
    • Respects the Content-Type HTTP header (and X-Format) value and responds with the corresponding format (supported formats are json and xml)
    • Writes logs in json format
    • Contains healthcheck endpoint (/healthz)
    • Contains metrics endpoint (/metrics) in Prometheus format
  • Lightweight docker image (~4.6Mb compressed size), distroless and uses the unleveled user by default
  • Go-template tags are allowed in the templates
  • Ready for integration with Traefik (error pages customization) and Ingress-nginx
  • Error pages can be embedded into your own nginx docker image
  • Fully configurable (take a look at the configuration file and project Wiki)
  • Distributed using docker image and compiled binary files
  • Localized (🇺🇸, 🇫🇷, 🇺🇦, 🇷🇺, 🇵🇹, 🇳🇱, 🇩🇪, 🇪🇸) HTML error pages (translation process described here - other translations are welcome!)

🧩 Install

Download the latest binary file for your os/arch from the releases page or use our docker image:

image stats

Registry Image
Docker Hub tarampampam/error-pages
GitHub Container Registry ghcr.io/tarampampam/error-pages

Using the latest tag for the docker image is highly discouraged because of possible backward-incompatible changes during major upgrades. Please, use tags in X.Y.Z format

💣 Or you can download already rendered error pages pack as a zip or tar.gz archive.

🛠 Usage

Please, take a look at our Wiki for the common usage stories:

🦾 Performance

Used hardware:

  • Intel® Coreâ„¢ i7-10510U CPU @ 1.80GHz × 8
  • 16 GiB RAM
$ ulimit -aH | grep file
-f: file size (blocks)              unlimited
-c: core file size (blocks)         unlimited
-n: file descriptors                1048576
-x: file locks                      unlimited

$ docker run --rm -p "8080:8080/tcp" -e "SHOW_DETAILS=true" error-pages:local # in separate terminal

$ wrk --timeout 1s -t12 -c400 -d30s -s ./test/wrk/request.lua http://127.0.0.1:8080/
Running 30s test @ http://127.0.0.1:8080/
  12 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    10.84ms    7.89ms 135.91ms   79.36%
    Req/Sec     3.23k   785.11     6.30k    70.04%
  1160567 requests in 30.10s, 4.12GB read
Requests/sec:  38552.04
Transfer/sec:    140.23MB
FS & memory usage stats during the test

🪂 Templates

Name Preview
ghost ghost
l7-light l7-light
l7-dark l7-dark
shuffle shuffle
noise noise
hacker-terminal hacker-terminal
cats cats
lost-in-space lost-in-space
app-down app-down
connection connection
matrix matrix

Note: noise template highly uses the CPU, be careful

🦾 Contributors

I want to say a big thank you to everyone who contributed to this project:

contributors

📰 Changes log

Release date Commits since latest release

Changes log can be found here.

👾 Support

Issues Issues

If you find any bugs in the project, please create an issue in the current repository.

📖 License

This is open-sourced software licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].