{"id":49198296,"url":"https://github.com/zengxs/docker-nginx","last_synced_at":"2026-04-23T12:33:29.107Z","repository":{"id":115370360,"uuid":"584283171","full_name":"zengxs/docker-nginx","owner":"zengxs","description":"Drop-in replacement for the official nginx image with many useful modules.","archived":false,"fork":false,"pushed_at":"2024-12-02T03:37:22.000Z","size":20,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-02T04:29:14.362Z","etag":null,"topics":["brotli","docker","docker-image","http3","nginx","nginx-http3","nginx-module"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zengxs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-02T05:20:15.000Z","updated_at":"2024-12-02T03:37:23.000Z","dependencies_parsed_at":"2024-12-02T04:35:14.437Z","dependency_job_id":null,"html_url":"https://github.com/zengxs/docker-nginx","commit_stats":null,"previous_names":["zengxs/docker-nginx"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zengxs/docker-nginx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zengxs%2Fdocker-nginx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zengxs%2Fdocker-nginx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zengxs%2Fdocker-nginx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zengxs%2Fdocker-nginx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zengxs","download_url":"https://codeload.github.com/zengxs/docker-nginx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zengxs%2Fdocker-nginx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32181371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T11:42:27.955Z","status":"ssl_error","status_checked_at":"2026-04-23T11:42:18.877Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brotli","docker","docker-image","http3","nginx","nginx-http3","nginx-module"],"created_at":"2026-04-23T12:33:28.305Z","updated_at":"2026-04-23T12:33:29.101Z","avatar_url":"https://github.com/zengxs.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NGINX docker image with many useful modules\n\n[![build][gha-badge]][gha-link]\n[![dockerhub pulls][dockerhub-pull-badge]][dockerhub-tags]\n[![dockerhub size][dockerhub-size-badge]][dockerhub-tags]\n[![dockerhub version][dockerhub-version-badge]][dockerhub-tags]\n[![license][license-badge]][license]\n[![arch][arch-badge]][dockerhub-tags]\n\n[gha-badge]: https://github.com/zengxs/docker-nginx/actions/workflows/ci.yml/badge.svg\n[gha-link]: https://github.com/zengxs/docker-nginx/actions/workflows/ci.yml\n[dockerhub-tags]: https://hub.docker.com/r/zengxs/nginx/tags\n[dockerhub-pull-badge]: https://img.shields.io/docker/pulls/zengxs/nginx?logo=docker\n[dockerhub-size-badge]: https://img.shields.io/docker/image-size/zengxs/nginx?logo=docker\n[dockerhub-version-badge]: https://img.shields.io/docker/v/zengxs/nginx?logo=docker\n[license-badge]: https://img.shields.io/github/license/zengxs/docker-nginx\n[license]: ./LICENSE\n[arch-badge]: https://img.shields.io/badge/arch-x86__64%20%7C%20arm64-lightgrey\n\nDrop-in replacement for the official nginx image with many useful modules.\n\nYou can use it just like the official image without any changes, but you can enjoy many\nuseful modules that are not included in the official image by adding some simple `load_module`\ndirectives in your NGINX configuration.\n\n\u003e **NOTE**: This image is based on the official image debian variant, and all default\n\u003e configurations are the same as the official image. So you must explicitly enable the\n\u003e modules you want to use, otherwise this image will not be different from the official\n\u003e image.\n\n## How to use this image?\n\nJust replace the official image name with this image name from your docker-compose file or\nother docker commands.\n\nChange your docker-compose file like this:\n\n```diff\n version: '3.9'\n services:\n   nginx:\n-    image: nginx:1.27.2\n+    image: zengxs/nginx:1.27.2\n```\n\nOr change your docker command like this:\n\n```diff\n docker run -d \\\n   --name nginx \\\n   --restart=always \\\n   -v $PWD/conf.d:/etc/nginx/conf.d \\\n   -v $PWD/certs:/etc/nginx/certs \\\n   -p 80:80 -p 443:443 \\\n-  nginx:1.27.2\n+  zengxs/nginx:1.27.2\n```\n\n## Third-party modules\n\n### Dynamic modules\n\n| Module                                                  | Description                                                    | Dynamic module file name                                              |\n| ------------------------------------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------- |\n| [ngx_brotli][mod-brotli]                                | Brotli compression module maintained by Google                 | ngx_http_brotli_filter_module.so\u003cbr/\u003engx_http_brotli_static_module.so |\n| [headers-more-nginx-module][mod-headers-more]           | More set of headers for NGINX                                  | ngx_http_headers_more_filter_module.so                                |\n| [nginx-module-vts][mod-vts]                             | Nginx virtual host traffic status module                       | ngx_http_vhost_traffic_status_module.so                               |\n| [ngx_http_geoip2_module][mod-geoip2]                    | GeoIP2 module for NGINX (GeoLite2 database included[^geolite]) | ngx_http_geoip2_module.so\u003cbr/\u003engx_stream_geoip2_module.so             |\n| [ngx-fancyindex][mod-fancyindex]                        | Fancy indexes module for NGINX                                 | ngx_http_fancyindex_module.so                                         |\n| [ngx_http_substitutions_filter_module][mod-subs-filter] | Substitutions filter module for NGINX                          | ngx_http_subs_filter_module.so                                        |\n\n[mod-brotli]: https://github.com/google/ngx_brotli\n[mod-headers-more]: https://github.com/openresty/headers-more-nginx-module\n[mod-vts]: https://github.com/vozlt/nginx-module-vts\n[mod-geoip2]: https://github.com/leev/ngx_http_geoip2_module\n[mod-fancyindex]: https://github.com/aperezdc/ngx-fancyindex\n[mod-subs-filter]: https://github.com/yaoweibin/ngx_http_substitutions_filter_module\n\n[^geolite]: GeoLite2 database is located at `/usr/share/GeoIP/GeoLite2-{ASN,City,Country}.mmdb`.\n\nAll dynamic modules are installed in `/usr/lib/nginx/modules` directory. You can use the\nfollowing command to list them:\n\n```sh\ndocker run --rm -it zengxs/nginx ls -lh /usr/lib/nginx/modules/\n```\n\nYou can enable them by simply adding some `load_module` directives in your NGINX configuration:\n\n```nginx\nload_module modules/ngx_http_brotli_filter_module.so;\nload_module modules/ngx_http_brotli_static_module.so;\n```\n\n### `njs` modules\n\n| Module                   | Description           | JS module file name |\n| ------------------------ | --------------------- | ------------------- |\n| [njs-acme][mod-njs-acme] | ACME module for NGINX | `acme.js`           |\n\n[mod-njs-acme]: https://github.com/nginx/njs-acme\n\nAll `njs` modules are installed in `/usr/share/nginx/njs_modules` directory. You can use the\nfollowing command to list them:\n\n```sh\ndocker run --rm -it zengxs/nginx ls -lh /usr/share/nginx/njs_modules/\n```\n\nYou must enable the `njs` module to use `njs` modules:\n\n```nginx\n# load dynamic modules\nload_module modules/ngx_http_js_module.so;\nload_module modules/ngx_stream_js_module.so;\n\n# set search path for njs\njs_path /usr/share/nginx/njs_modules;\n```\n\nThen you can import njs modules in your NGINX configuration:\n\n```nginx\njs_import acme from 'acme.js';\n```\n\n## License\n\nAll submodules are licensed under their own licenses. Other files are licensed under the\n[MIT License][license] unless otherwise specified.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzengxs%2Fdocker-nginx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzengxs%2Fdocker-nginx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzengxs%2Fdocker-nginx/lists"}