{"id":20329279,"url":"https://github.com/whisperpine/nginx-certbot","last_synced_at":"2026-05-01T22:35:17.069Z","repository":{"id":181180902,"uuid":"666292529","full_name":"whisperpine/nginx-certbot","owner":"whisperpine","description":"Handle HTTPS/TLS/SSL using Nginx, Let's Encrypt and Docker.","archived":false,"fork":false,"pushed_at":"2025-09-09T20:11:41.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-13T03:39:06.262Z","etag":null,"topics":["certbot","docker-compose","nginx","tls"],"latest_commit_sha":null,"homepage":"","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/whisperpine.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-07-14T06:50:11.000Z","updated_at":"2025-09-09T20:11:45.000Z","dependencies_parsed_at":"2025-01-14T14:48:16.814Z","dependency_job_id":"1e4ba89e-f5c8-4ec5-8d0e-7f1699a5f69c","html_url":"https://github.com/whisperpine/nginx-certbot","commit_stats":null,"previous_names":["whisperpine/nginx-certbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/whisperpine/nginx-certbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whisperpine%2Fnginx-certbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whisperpine%2Fnginx-certbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whisperpine%2Fnginx-certbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whisperpine%2Fnginx-certbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whisperpine","download_url":"https://codeload.github.com/whisperpine/nginx-certbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whisperpine%2Fnginx-certbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32515838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["certbot","docker-compose","nginx","tls"],"created_at":"2024-11-14T20:09:55.341Z","updated_at":"2026-05-01T22:35:17.055Z","avatar_url":"https://github.com/whisperpine.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nginx Certbot\n\nHandle HTTPS/TLS/SSL using Nginx, Let's Encrypt and Docker.\\\nInspired by:\n[HTTPS using Nginx and Let's encrypt in Docker - Mindsers Blog](https://mindsers.blog/post/https-using-nginx-certbot-docker/).\n\n## Prerequisite\n\n- Add a DNS record to the public IP address of your server.\\\n  Be sure that 80 and 443 port is allowed by firewall/security settings.\n- Docker is installed in the server (refer to [Docker Installation Document](https://docs.docker.com/engine/install/)).\n\n## Getting Started\n\n- Create virtual machine and config DNS record.\n- Config environment variables in `.env` file (see [example.env](./example.env)).\n- Run `sudo docker compose up -d` to start services.\n- Run `sh helper.sh init` to create nginx config.\n- Run `sh helper.sh apply` to apply tls certs.\n- Run `sh helper.sh renew` to check if renewal works.\n- Run `sh helper.sh cron` to setup cron to auto renew tls certs.\n\n## Recommendations\n\n### Nginx Config\n\nThe syntax of nginx config files is not widely supported by code editors by\ndefault. For better develop experience, it's recommended to install [NGINX\nConfiguration Language Support](https://marketplace.visualstudio.com/items?itemName=ahmadalli.vscode-nginx-conf)\nextension if you're using vscode, or install the `nginx` language of\n[treesitter](https://github.com/nvim-treesitter/nvim-treesitter)\nif you're using Vim / Neovim.\n\n### Cloudflare\n\nIf your DNS is provided by cloudflare, be careful of the SSL/TLS encryption mode.\n\nWhen you provide tls on your origin server, the default SSL/TLS encryption mode\n`Flexible` will lead to `xxx redirected you too many times` error. To fix that\nissue, you may either switch SSL/TLS encryption mode to `Full` or turn off the\nproxy switch (`Proxy status` from `Proxied` to `DNS Only`).\n\n## Add New Domains\n\n- Delete existing domains in `DOMAIN_NAMES` inside `.env`.\n- Add new domains in `DOMAIN_NAMES` inside `.env`.\n- Run `sh helper.sh init` to create nginx config.\n- Run `sh helper.sh apply` to apply tls certs.\n- Recover the deleted domains in `DOMAIN_NAMES`.\n- Run `sudo docker compose exec nginx nginx -s reload`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhisperpine%2Fnginx-certbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhisperpine%2Fnginx-certbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhisperpine%2Fnginx-certbot/lists"}