Ubuntu-based Docker image with nginx stable from the official nginx.org repository, extended with third-party modules for compression, security, and more.
Warning
This image has switched from the Ondřej Surý PPA to the official nginx.org repository. If you are using custom modules or configuration that depends on the Ondřej Surý packaging, please review your setup before upgrading. A big thank you to Ondřej Surý for maintaining the PPA for many years — it was invaluable to the community.
Nginx stable from nginx.org with dynamic modules from Blendbyte:
| Module | Package |
|---|---|
| Brotli compression | nginx-module-brotli |
| Brotli static | nginx-module-brotli-static |
| Zstandard compression | nginx-module-zstd |
| Zstandard static | nginx-module-zstd-static |
| ModSecurity WAF | nginx-module-modsecurity |
| GeoIP2 | nginx-module-geoip2 |
| Stream GeoIP2 | nginx-module-stream-geoip2 |
| Headers More | nginx-module-headers-more |
| Substitutions | nginx-module-substitutions |
| Cache Purge | nginx-module-cache-purge |
| Fancy Index | nginx-module-fancyindex |
| WebDAV Extended | nginx-module-dav-ext |
We are keeping the Ubuntu-style configuration structure (sites-available / sites-enabled / snippets) instead of Debian structure that uses conf.d folder.
- Docker Hub:
eworkssk/nginx - GitHub Packages:
ghcr.io/eworkssk/nginx
| Tag | Description |
|---|---|
latest |
Latest build |
1.30 |
Latest build of the 1.30.x line |
1.30.5 |
Latest build of nginx 1.30.5 |
Tags are examples — see Docker Hub or GitHub Packages for current tags.
# Run with your app mounted
docker run -d \
-v /my-app:/my-app \
-p 80:80 -p 443:443 \
eworkssk/nginx:latest
# Open a shell
docker exec -it nginx bashservices:
nginx:
image: eworkssk/nginx:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./sites-available:/etc/nginx/sites-available
- ./ssl:/etc/nginx/ssl:ro
restart: unless-stoppedDefault config is at /etc/nginx/nginx.conf. Directory layout follows Ubuntu conventions:
| Path | Purpose |
|---|---|
/etc/nginx/sites-available/ |
Available site configs |
/etc/nginx/sites-enabled/ |
Enabled site configs (symlinks) |
/etc/nginx/snippets/ |
Reusable config snippets |
/etc/nginx/conf.d/ |
Additional global config |
Mount your own nginx.conf or site configs as volumes, or extend this image with a COPY in your own Dockerfile.
Images are built for linux/amd64 and linux/arm64 — works on standard x86-64 machines, ARM-based Linux servers, Apple Silicon, and Raspberry Pi.
Images are updated automatically every Tuesday and Friday at 03:00 UTC, always pulling the latest nginx stable release and Ubuntu security patches.
We are building custom web and mobile apps for 20+ years. Check out our website for more.
This image runs in our own stack, which is why we keep it maintained. Issues and PRs are welcome and appreciated.
