A fork of https://github.com/ricardbejarano/nginx with KTLS enabled and some optimization flags. Used for the different Invidious backends that I host.
https://man.freebsd.org/cgi/man.cgi?ktls(4) | https://www.f5.com/company/blog/nginx/improving-nginx-performance-with-kernel-tls | https://www.kernel.org/doc/html/latest/networking/tls-offload.html
glibc | ||
musl | ||
rootfs | ||
LICENSE | ||
README.md |
nginx (Docker image)
Built-from-source container image of the NGINX HTTP server
Available at ricardbejarano/nginx
.
Tags
1.15.9-glibc
, 1.15.9
, glibc
, latest
(glibc/Dockerfile)
1.15.9-musl
, musl
(musl/Dockerfile)
Features
- Super tiny (
glibc
-based is~13.2MB
andmusl
-based is~12.5MB
) - Built from source, including libraries
- Built
FROM scratch
, see the Filesystem section below for an exhaustive list of the image's contents - Included TLS1.3 protocol support (with OpenSSL)
- Reduced attack surface (no
bash
, no UNIX tools, no package manager...)
Building
To build the glibc
-based image:
$ git clone https://github.com/ricardbejarano/nginx
$ cd nginx
$ docker build -t nginx:glibc -f glibc/Dockerfile .
To build the musl
-based image:
$ git clone https://github.com/ricardbejarano/nginx
$ cd nginx
$ docker build -t nginx:musl -f musl/Dockerfile .
Filesystem
The images' contents are:
glibc
Based on the glibc implementation of libc
.
/
├── etc/
│ ├── group/
│ ├── nginx/
│ │ ├── html/
│ │ │ ├── 50x.html
│ │ │ └── index.html
│ │ ├── mime.types
│ │ └── nginx.conf
│ └── passwd
├── lib/
│ └── x86_64-linux-gnu/
│ ├── libc.so.6
│ ├── libcrypt.so.1
│ ├── libdl.so.2
│ ├── libnss_dns.so.2
│ ├── libnss_files.so.2
│ ├── libpthread.so.0
│ └── libresolv.so.2
├── lib64/
│ └── ld-linux-x86-64.so.2
├── nginx
└── tmp/
└── .keep
musl
Based on the musl implementation of libc
.
/
├── etc/
│ ├── group
│ ├── nginx/
│ │ ├── html/
│ │ │ ├── 50x.html
│ │ │ └── index.html
│ │ ├── mime.types
│ │ └── nginx.conf
│ └── passwd
├── nginx
└── tmp/
└── .keep
License
See LICENSE.