{"id":24128180,"url":"https://github.com/vanyauhalin/docker-nginx","last_synced_at":"2026-05-03T22:34:57.664Z","repository":{"id":241922399,"uuid":"802587452","full_name":"vanyauhalin/docker-nginx","owner":"vanyauhalin","description":"A simple Docker image for Nginx that eliminates the need to configure it over and over again","archived":false,"fork":false,"pushed_at":"2025-01-18T18:33:48.000Z","size":107,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-06T01:36:21.382Z","etag":null,"topics":["acme","container","docker","image","letsencrypt","nginx"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/vanyauhalin/nginx/","language":"Shell","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/vanyauhalin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2024-05-18T18:01:03.000Z","updated_at":"2025-01-18T18:33:50.000Z","dependencies_parsed_at":"2024-05-30T19:16:56.261Z","dependency_job_id":"17f32dd7-1b3b-481c-8b6a-b4c7d763dde1","html_url":"https://github.com/vanyauhalin/docker-nginx","commit_stats":null,"previous_names":["vanyauhalin/docker-nginx"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/vanyauhalin/docker-nginx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanyauhalin%2Fdocker-nginx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanyauhalin%2Fdocker-nginx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanyauhalin%2Fdocker-nginx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanyauhalin%2Fdocker-nginx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vanyauhalin","download_url":"https://codeload.github.com/vanyauhalin/docker-nginx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanyauhalin%2Fdocker-nginx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32587821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"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":["acme","container","docker","image","letsencrypt","nginx"],"created_at":"2025-01-11T18:40:02.178Z","updated_at":"2026-05-03T22:34:57.647Z","avatar_url":"https://github.com/vanyauhalin.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nginx Docker Image\n\nThis is a simple Docker image for Nginx, created by someone not specialized in configuring Nginx or writing shell scripts, to eliminate the need to configure it over and over again.\n\nThis image contains:\n\n- A static Brotli module.\n- Support for obtaining SSL certificates with their auto-renewal.\n- The ability to substitute environment variables in the Nginx configuration.\n- A few basic snippets to configure Nginx.\n\nImportant criteria for creating this image were:\n\n- Do not attempt to automate the formation of the configuration file.\n- Do not enforce any configuration options.\n- Write scripts as simply and clearly as possible.\n- Avoid performing complex operations in scripts.\n\n## Contents\n\n- [Installation](#installation)\n- [Description](#description)\n- [Acknowledgements](#acknowledgements)\n- [License](#license)\n\n## Installation\n\nPull image from Docker Hub:\n\n```sh\ndocker pull vanyauhalin/nginx\n```\n\n... or from GitHub Container registry:\n\n```sh\ndocker pull ghcr.io/vanyauhalin/nginx\n```\n\n## Description\n\n_Description in progress..._\n\n\u003cdetails\u003e\n  \u003csummary\u003eShow \u003ccode\u003eae\u003c/code\u003e help message\u003c/summary\u003e\n\n```text\nUsage: ae [options] \u003csubcommand\u003e\n       ae obtain [options] \u003ctype\u003e\n       ae renew [options]\n       ae logs [options]\n       ae acme [acme options]\n\nOptions:\n  -p            Pipes the output to the log file\n                (available for 'install', 'obtain', 'schedule', 'trigger' and 'renew' subcommands)\n\nSubcommands:\n  help          Shows this help message\n  install       Installs acme\n  obtain        Obtains certificates\n  schedule      Schedules certificate renewal\n  trigger       Triggers scheduled operations\n  renew         Renews certificates\n  logs          Shows the log file\n  env           Shows the environment variables\n  acme          Runs acme with the specified arguments\n\nObtain options:\n  -g            Guards the existence of certificates\n  -s            Skips rendering, testing Nginx configuration and reloading Nginx\n\nObtain types:\n  self          Obtains self-signed certificates\n  test          Obtains test certificates\n  prod          Obtains production certificates\n\nRenew options:\n  -f            Forces the renewal of certificates\n\nLogs options:\n  -f            Follows the log file\n  -n \u003clines\u003e    Shows the last n lines of the log file\n\nEnvironment variables:\n  AE_ENABLED             Whether ae is enabled\n  AE_CRON                Cron schedule for certificate renewal\n  AE_DAYS                Validity period for certificates when obtaining new ones\n  AE_DOMAINS             Comma-separated list of domains to obtain certificates for\n  AE_EMAIL               Email address to use when obtaining certificates\n  AE_KEY_SIZE            Size of the RSA key to be generated\n  AE_HEALTHCHECKS_URL    URL to Healthchecks check\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eShow \u003ccode\u003eng\u003c/code\u003e help message\u003c/summary\u003e\n\n```txt\nUsage: ng \u003csubcommand\u003e\n\nSubcommands:\n  help          Shows this help message\n  render        Renders the Nginx config from the template\n\nEnvironment variables:\n  NG_ENABLED             Whether ng is enabled\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eShow mentioned files and directories in the tree format\u003c/summary\u003e\n\n```txt\n├─ etc\n│  ├─ acme\n│  │  └─ ***\n│  └─ nginx\n│     ├─ snippets\n│     │  ├─ example.com\n│     │  │  ├─ proxy-ssl-certificate.conf\n│     │  │  └─ ssl-certificate.conf\n│     │  ├─ acme-challenge.conf\n│     │  ├─ base-headers.conf\n│     │  ├─ base-options.conf\n│     │  ├─ brotli-options.conf\n│     │  ├─ force-https.conf\n│     │  ├─ force-non-www.conf\n│     │  ├─ gzip-options.conf\n│     │  ├─ map-connection.conf\n│     │  ├─ map-non-www.conf\n│     │  ├─ proxy-options.conf\n│     │  ├─ proxy-ssl-options.conf\n│     │  ├─ ssl-dhparam.conf\n│     │  ├─ ssl-headers.conf\n│     │  └─ ssl-options.conf\n│     ├─ ssl\n│     │  ├─ example.com\n│     │  │  ├─ cert.pem\n│     │  │  ├─ chain.pem\n│     │  │  ├─ fullchain.pem\n│     │  │  └─ privkey.pem\n│     │  └─ dhparam.pem\n│     ├─ nginx.conf\n│     └─ nginx.conf.template\n├─ usr\n│  ├─ bin\n│  │  └─ envsubst\n│  ├─ local\n│  │  ├─ bin\n│  │  │  ├─ acme\n│  │  │  ├─ ae\n│  │  │  ├─ entrypoint\n│  │  │  └─ ng\n│  │  └─ lib\n│  │     ├─ color.sh\n│  │     └─ log.sh\n│  └─ sbin\n│     └─ nginx\n├─ log\n│  ├─ ae\n│  │  └─ output.log\n│  └─ nginx\n│     ├─ access.log\n│     └─ error.log\n└─ var\n   └─ www\n      └─ example.com\n```\n\n\u003c/details\u003e\n\n## Acknowledgements\n\nThis image would not have happened without studying other people's project.\n\n[wokalek/nginx-brotli] \\\nThe creation of this image began with studying Alexander Wokalek's work. His image formed the basis of this image with almost no changes. In a sense, this project is a fork of that one. If you are looking for Nginx without additional overhead, but with only the brotli module compiled, consider using wokalek's image.\n\n[nginx-le/nginx-le] \\\nThe image created by [Umputun] demonstrated how to work with scripts that process SSL certificates within the same image with Nginx.\n\n[h5bp/server-configs-nginx], [lebinh/nginx-conf] \\\nI would like to mention several resources in one line from which snippets were collected.\n\n[Mozilla SSL Configuration Generator], [Report URI Content Security Policy Generator] \\\nLet us not forget about useful generators, which also helped to form a few snippets.\n\n## License\n\n[MIT] (c) [Ivan Uhalin]\n\n\u003c!-- Footnotes --\u003e\n\n[acmesh-official/acme.sh]: https://github.com/acmesh-official/acme.sh/\n[google/ngx_brotli]: https://github.com/google/ngx_brotli/\n[h5bp/server-configs-nginx]: https://github.com/h5bp/server-configs-nginx/\n[lebinh/nginx-conf]: https://github.com/lebinh/nginx-conf/\n[nginx-le/nginx-le]: https://github.com/nginx-le/nginx-le\n[wokalek/nginx-brotli]: https://github.com/wokalek/nginx-brotli/\n\n[GNU envsubst]: https://www.gnu.org/software/gettext/manual/html_node/envsubst-Invocation.html\n\n[Mozilla SSL Configuration Generator]: https://ssl-config.mozilla.org/\n[Report URI Content Security Policy Generator]: https://report-uri.com/home/generate/\n\n[Ivan Uhalin]: https://github.com/vanyauhalin/\n[Umputun]: https://github.com/umputun/\n\n[MIT]: https://github.com/vanyauhalin/docker-nginx/blob/main/LICENSE/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanyauhalin%2Fdocker-nginx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvanyauhalin%2Fdocker-nginx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanyauhalin%2Fdocker-nginx/lists"}