{"id":23257004,"url":"https://github.com/fabriziofiorucci/nginx-docker-image-builder","last_synced_at":"2026-03-09T17:08:20.145Z","repository":{"id":271467566,"uuid":"905861311","full_name":"fabriziofiorucci/NGINX-Docker-Image-Builder","owner":"fabriziofiorucci","description":"Docker image builder for NGINX Plus and Open Source, NGINX App Protect and NGINX Agent","archived":false,"fork":false,"pushed_at":"2026-01-13T16:01:34.000Z","size":18,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-13T18:31:40.965Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabriziofiorucci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-19T17:06:24.000Z","updated_at":"2026-01-13T16:02:00.000Z","dependencies_parsed_at":"2026-01-13T18:01:59.031Z","dependency_job_id":null,"html_url":"https://github.com/fabriziofiorucci/NGINX-Docker-Image-Builder","commit_stats":null,"previous_names":["fabriziofiorucci/nginx-docker-image-builder"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fabriziofiorucci/NGINX-Docker-Image-Builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabriziofiorucci%2FNGINX-Docker-Image-Builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabriziofiorucci%2FNGINX-Docker-Image-Builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabriziofiorucci%2FNGINX-Docker-Image-Builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabriziofiorucci%2FNGINX-Docker-Image-Builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabriziofiorucci","download_url":"https://codeload.github.com/fabriziofiorucci/NGINX-Docker-Image-Builder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabriziofiorucci%2FNGINX-Docker-Image-Builder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30303846,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T14:33:48.460Z","status":"ssl_error","status_checked_at":"2026-03-09T14:33:48.027Z","response_time":61,"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":["kubernetes","nginx","nginx-instance-manager"],"created_at":"2024-12-19T12:26:36.863Z","updated_at":"2026-03-09T17:08:20.112Z","avatar_url":"https://github.com/fabriziofiorucci.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This repository has been archived. Please see the [official NGINX Demos](https://github.com/nginx/nginx-demos/tree/main/nginx/docker-image-builder) for the maintained version\n\n# NGINX Docker image builder\n\n## Description\n\nThis repository can be used to build a docker image that includes:\n\n- [NGINX Plus](https://docs.nginx.com/nginx) in privileged or unprivileged/non-root mode\n- [NGINX Open Source](https://nginx.org/)\n- [NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect-waf)\n- [NGINX Agent](https://docs.nginx.com/nginx-agent)\n\nIt is also available as part of [official NGINX Demos](https://github.com/nginx/nginx-demos/tree/main/nginx/docker-image-builder)\n\n## Tested releases\n\nThis repository has been tested with:\n\n- [NGINX Plus](https://docs.nginx.com/nginx) R29+\n- [NGINX Open Source](https://nginx.org) 1.24.0+\n- [NGINX Agent](https://docs.nginx.com/nginx-agent) 2.14+\n- [NGINX Instance Manager](https://docs.nginx.com/nginx-instance-manager) 2.15+\n- [NGINX App Protect WAF](https://docs.nginx.com/nginx-app-protect-waf) 4.100.1+\n- [NGINX One Console](https://docs.nginx.com/nginx-app-protect-waf)\n\n## Prerequisites\n\n- Linux host running Docker to build the image\n- NGINX Plus license\n- Access to either control plane:\n  - [NGINX Instance Manager](https://docs.nginx.com/nginx-instance-manager/)\n  - [NGINX One Cloud Console](https://docs.nginx.com/nginx-one/)\n- Docker/Docker-compose or Openshift/Kubernetes cluster\n\n## Building the docker image\n\nThe `./scripts/build.sh` install script can be used to build the Docker image:\n\n```\nNGINX Docker Image builder\n\n This tool builds a Docker image to run NGINX Plus/Open Source, NGINX App Protect WAF and NGINX Agent\n\n === Usage:\n\n ./scripts/build.sh [options]\n\n === Options:\n\n -h                     - This help\n -t [target image]      - The Docker image to be created\n -C [file.crt]          - Certificate to pull packages from the official NGINX repository\n -K [file.key]          - Key to pull packages from the official NGINX repository\n -w                     - Add NGINX App Protect WAF (requires NGINX Plus)\n -O                     - Use NGINX Open Source instead of NGINX Plus\n -u                     - Build unprivileged image (only for NGINX Plus)\n -a                     - Add NGINX Agent\n\n === Examples:\n\n NGINX Plus and NGINX Agent image:\n ./scripts/build.sh -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-agent-root -a\n\n NGINX Plus, NGINX App Protect WAF and NGINX Agent image:\n ./scripts/build.sh -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-nap-agent-root -w -a\n\n NGINX Plus, NGINX App Protect WAF and NGINX Agent unprivileged image:\n ./scripts/build.sh -C nginx-repo.crt -K nginx-repo.key -t registry.ff.lan:31005/nginx-docker:plus-nap-agent-nonroot -w -u -a\n\n NGINX Opensource and NGINX Agent image:\n ./scripts/build.sh -O -t registry.ff.lan:31005/nginx-docker:oss-root -a\n```\n\n1. Clone this repository\n2. For NGINX Plus only: get your license certificate and key\n3. Build the Docker image using `./scripts/build.sh`\n\n### Running the docker image on Kubernetes\n\n1. Edit `manifests/1.nginx-nim.yaml` and specify the correct image by modifying the `image:` line, and set the following environment variables\n  - `NGINX_LICENSE` - NGINX R33+ JWT license token\n  - `NGINX_AGENT_SERVER_HOST` - NGINX Instance Manager / NGINX One Console hostname/IP address\n  - `NGINX_AGENT_SERVER_GRPCPORT` - NGINX Instance Manager / NGINX One Console gRPC port\n  - `NGINX_AGENT_SERVER_TOKEN` - NGINX Instance Manager / NGINX One Console authentication token\n  - `NGINX_AGENT_INSTANCE_GROUP` - instance group (NGINX Instance Manager) / config sync group (NGINX One Console) for the NGINX instance\n  - `NGINX_AGENT_TAGS` - comma separated list of tags for the NGINX instance\n  - `NAP_WAF` - set to `\"true\"` to enable NGINX App Protect WAF (docker image built using `-w`) - NGINX Plus only\n  - `NAP_WAF_PRECOMPILED_POLICIES` - set to `\"true\"` to enable NGINX App Protect WAF precompiled policies (docker image built using `-w`) - NGINX Plus only\n  - `NGINX_AGENT_LOG_LEVEL` - NGINX Agent loglevel, optional. If not specified defaults to `info`\n\n2. Deploy on Kubernetes using the example manifest `manifest/nginx-manifest.yaml`\n\n3. After startup the NGINX instance will register to NGINX Instance Manager / NGINX One console and will be displayed on the \"instances\" dashboard if the NGINX Agent has been build into the docker image\n\n### Running the docker image on Docker\n\n1. Start using\n\n```\ndocker run --rm --name nginx -p [PORT_TO_EXPOSE] \\\n        -e \"NGINX_LICENSE=\u003cNGINX_JWT_LICENSE_TOKEN\u003e\" \\\n        -e \"NGINX_AGENT_SERVER_HOST=\u003cNGINX_INSTANCE_MANAGER_OR_NGINX_ONE_CONSOLE_FQDN_OR_IP\u003e\" \\\n        -e \"NGINX_AGENT_SERVER_GRPCPORT=\u003cNGINX_INSTANCE_MANAGER_OR_NGINX_ONE_CONSOLE_GRPC_PORT\u003e\" \\\n        -e \"NGINX_AGENT_SERVER_TOKEN=\u003cNGINX_INSTANCE_MANAGER_OR_NGINX_ONE_CONSOLE_OPTIONAL_AUTHENTICATION_TOKEN\u003e\" \\\n        -e \"NGINX_AGENT_INSTANCE_GROUP=\u003cNGINX_INSTANCE_MANAGER_OR_NGINX_ONE_CONSOLE_OPTIONAL_INSTANCE_GROUP_OR_CONFIG_SYNC_GROUP_NAME\u003e\" \\\n        -e \"NGINX_AGENT_TAGS=\u003cOPTIONAL_COMMA_DELIMITED_TAG_LIST\u003e\" \\\n        -e \"NAP_WAF=[true|false]\" \\\n        -e \"NAP_WAF_PRECOMPILED_POLICIES=[true|false]\" \\\n        -e \"NGINX_AGENT_LOG_LEVEL=[panic|fatal|error|info|debug|trace]\" \\\n        \u003cNGINX_DOCKER_IMAGE_NAME:TAG\u003e\n```\n\n2. After startup the NGINX instance will register to NGINX Instance Manager / NGINX One Console and will be displayed on the \"instances\" dashboard if the NGINX Agent has been build into the docker image\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabriziofiorucci%2Fnginx-docker-image-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabriziofiorucci%2Fnginx-docker-image-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabriziofiorucci%2Fnginx-docker-image-builder/lists"}