.github/workflows | ||
bin | ||
docker | ||
static | ||
templates | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
CHANGELOG.md | ||
config.json | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
package.json | ||
README.md | ||
yarn.lock |
HTTP's error pages in Docker image
This repository contains:
- A very simple generator (
nodejs
) for HTTP error pages (like404: Not found
) with different templates supports - Dockerfile for docker image with generated pages and
nginx
as web server
Development
For project development we use
docker-ce
+docker-compose
. Make sure you have them installed.
Install nodejs
dependencies:
$ make install
If you want to generate error pages on your machine (after that look into output directory):
$ make gen
If you want to preview the pages using the Docker image:
$ make preview
Can be used for Traefik error pages customization.
Templates
Name | Preview |
---|---|
ghost |
Usage
Generated error pages in our docker image permanently located in directory /opt/html/%THEME_NAME%
.
Supported environment variables
Name | Description |
---|---|
TEMPLATE_NAME |
"default" pages template (allows to use error pages without passing theme name in URL - http://127.0.0.1/500.html instead http://127.0.0.1/ghost/500.html ) |
HTTP server for error pages serving only
Execute in your shell:
$ docker run --rm -p "8082:8080" tarampampam/error-pages
And open in your browser http://127.0.0.1:8082/ghost/400.html
.
Custom error pages for nginx
You can build your own docker image with nginx
and our error pages:
# File `./nginx.conf`
server {
listen 80;
server_name localhost;
error_page 401 /_error-pages/401.html;
error_page 403 /_error-pages/403.html;
error_page 404 /_error-pages/404.html;
error_page 500 /_error-pages/500.html;
error_page 502 /_error-pages/502.html;
error_page 503 /_error-pages/503.html;
location ^~ /_error-pages/ {
internal;
root /usr/share/nginx/errorpages;
}
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
FROM nginx:1.18-alpine
COPY --chown=nginx \
./nginx.conf /etc/nginx/conf.d/default.conf
COPY --chown=nginx \
--from=tarampampam/error-pages:1.0.0 \
/opt/html/ghost /usr/share/nginx/errorpages/_error-pages
More info about
error_page
directive can be found here.
Custom error pages for Traefik
Simple traefik service configuration for usage in docker swarm (change with your needs):
# Work in progress
Changes log
Changes log can be found here.
Support
If you will find any package errors, please, make an issue in current repository.
License
This is open-sourced software licensed under the MIT License.