{"id":19234453,"url":"https://github.com/andornaut/ansible-role-letsencrypt-nginx","last_synced_at":"2025-04-21T05:30:56.488Z","repository":{"id":45138931,"uuid":"94951767","full_name":"andornaut/ansible-role-letsencrypt-nginx","owner":"andornaut","description":"An Ansible role that registers and renews HTTPS certificates using Let's Encrypt","archived":true,"fork":false,"pushed_at":"2024-05-12T00:33:10.000Z","size":43,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-23T11:45:19.692Z","etag":null,"topics":["ansible","letsencrypt","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Jinja","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/andornaut.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":"2017-06-21T01:52:34.000Z","updated_at":"2024-08-05T00:08:03.000Z","dependencies_parsed_at":"2024-05-12T01:28:31.563Z","dependency_job_id":"9f389c2c-1376-4aa6-b0ab-4b9ddaaf8f4a","html_url":"https://github.com/andornaut/ansible-role-letsencrypt-nginx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andornaut%2Fansible-role-letsencrypt-nginx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andornaut%2Fansible-role-letsencrypt-nginx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andornaut%2Fansible-role-letsencrypt-nginx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andornaut%2Fansible-role-letsencrypt-nginx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andornaut","download_url":"https://codeload.github.com/andornaut/ansible-role-letsencrypt-nginx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250002158,"owners_count":21359060,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ansible","letsencrypt","ubuntu"],"created_at":"2024-11-09T16:13:47.053Z","updated_at":"2025-04-21T05:30:56.257Z","avatar_url":"https://github.com/andornaut.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ansible-role-letsencrypt-nginx\n\nAn [Ansible](https://www.ansible.com/) role to provision an [NGINX HTTP server](https://www.nginx.com) as a\n[Docker container](https://hub.docker.com/_/nginx) on Ubuntu and manage auto-renewal of HTTPS certificates using\n[Let's Encrypt](https://letsencrypt.org/).\n\n## Requirements\n\n* [Ansible](https://www.ansible.com/) \u003e= 2.9.0\n\n## Variables\n\nSee [default values](./defaults/main.yml).\n\n## Example configuration\n\nBe sure to set `letsencryptnginx_acme_directory_url` for production use.\n\n```\nletsencryptnginx_account_email: info@example.com\n\n# Production URL\nletsencryptnginx_acme_directory_url: https://acme-v02.api.letsencrypt.org/directory\n\nletsencryptnginx_websites:\n  # Returns HTTP response code 404\n  - domain: subdomain.example.com\n    use_selfsigned_certificate: true\n\n  - domain: example.com\n    repo: https://github.com/andornaut/example.com.git\n\n  - domain: httpbasic.example.com\n    http_basic_authentication:\n      allowed_networks:\n        - 192.168.0.0/16\n      credentials:\n        - username: hello\n          password: world\n    locations:\n      - src: /nas\n        dest: /media/nas\n\n  - domain: proxy.example.com\n    cloudflare_api_token: token\n    cloudflare_api_zone: example.com\n    csr_commonName: *.example.com\n    proxy_port: 8123\n    proxy_redirect_http: False\n    proxy_remove_authorization_header: False\n    websocket_path: /api/websocket\n```\n\n## Troubleshooting\n\n### Restart Nginx after a folder is mounted\n\n1. Create a Systemd unit file\n   ```\n   sudo systemctl edit --force --full restart-nginx-after-nas.service\n   ```\n1. Enter the following:\n   ```\n   [Unit]\n   Description=Restart the Nginx Docker container after /media/nas has been mounted\n   Requires=media-nas.mount\n   After=media-nas.mount\n\n   [Service]\n   Type=oneshot\n   ExecStartPre=sleep 30\n   ExecStart=docker restart nginx\n   RemainAfterExit=true\n\n   [Install]\n   WantedBy=media-nas.mount\n   ```\n1. Run `sudo systemctl daemon-reload`\n1. Run `sudo systemctl restart restart-nginx-after-nas.service`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandornaut%2Fansible-role-letsencrypt-nginx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandornaut%2Fansible-role-letsencrypt-nginx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandornaut%2Fansible-role-letsencrypt-nginx/lists"}