{"id":21207000,"url":"https://github.com/paralect/ansible-letsencrypt","last_synced_at":"2025-03-14T23:21:48.416Z","repository":{"id":140330264,"uuid":"145401996","full_name":"paralect/ansible-letsencrypt","owner":"paralect","description":null,"archived":false,"fork":false,"pushed_at":"2018-09-25T11:29:28.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-01-21T15:49:22.572Z","etag":null,"topics":["ansible","letsencrypt","letsencrypt-certificates","paralect-stack"],"latest_commit_sha":null,"homepage":null,"language":null,"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/paralect.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2018-08-20T10:19:07.000Z","updated_at":"2021-03-28T14:47:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"a8ce0c02-5981-4feb-a4ad-45ef42a464b8","html_url":"https://github.com/paralect/ansible-letsencrypt","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/paralect%2Fansible-letsencrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paralect%2Fansible-letsencrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paralect%2Fansible-letsencrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paralect%2Fansible-letsencrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paralect","download_url":"https://codeload.github.com/paralect/ansible-letsencrypt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658808,"owners_count":20326566,"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","letsencrypt-certificates","paralect-stack"],"created_at":"2024-11-20T20:57:26.609Z","updated_at":"2025-03-14T23:21:48.410Z","avatar_url":"https://github.com/paralect.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Letsecrypt\n\n[![Stack](https://raw.githubusercontent.com/paralect/stack/master/stack-component-template/stack.png)](https://github.com/paralect/stack)\n\n[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors)\n[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-letsenctypt-blue.svg?style=flat-square)](https://galaxy.ansible.com/paralect/drone)\n[![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=flat-square)](https://github.com/paralect/ansible-mongo/blob/master/LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\n\n[![Watch on GitHub](https://img.shields.io/github/watchers/paralect/ansible-letsectrypt.svg?style=social\u0026label=Watch)](https://github.com/paralect/ansible-letsectrypt/watchers)\n[![Star on GitHub](https://img.shields.io/github/stars/paralect/ansible-letsectrypt.svg?style=social\u0026label=Stars)](https://github.com/paralect/ansible-letsectrypt/stargazers)\n[![Follow](https://img.shields.io/twitter/follow/paralect.svg?style=social\u0026label=Follow)](https://twitter.com/paralect)\n[![Tweet](https://img.shields.io/twitter/url/https/github.com/paralect/ansible-letsectrypt.svg?style=social)](https://twitter.com/intent/tweet?text=I%27m%20using%20Stack%20components%20to%20build%20my%20next%20product%20🚀.%20Check%20it%20out:%20https://github.com/paralect/ansible-letsectrypt)\n\nThe ansible role for generating [letsecrypt](https://letsencrypt.org/) certificates.\n\n## Features\n\n* 🔐 Ability to generate single certificates for specific domains/subdomains\n* 🔐 Ability to generate wildcard certificates using settings for the corresponding DNS provider\n* ⚡️️ Automatically renew certificates every month\n* 🔧 Generated certificates stored in the directory `/etc/letsencrypt/live/{{app_domain}}` where `app_domain` is the name of domain/subdomain for which we generated certificates and ready for use with any HTTP-server\n\n## Role Variables\n\nAvailable variables:\n\n|Name|Default|Description|\n|:--:|:--:|:----------|\n|**`use_dns_plugin`**|`false`|Use certbot dns provider (use this if you need wildcard sertificate) or certbot itselt.|\n|**`certbot_version`**|`latest`|# Version of certbot or certbot dns plugin (if `use_dns_plugin` is `true`), see other versions [here](https://hub.docker.com/r/certbot/certbot/tags)|\n|**`dns_plugin`**|`cloudflare`|Dsn plugin that will be used with certbot (when `use_dns_plugin` is `true`), list of plugins can be found [here](https://certbot.eff.org/docs/using.html#dns-plugins)|\n|**`email`**|`Email that will be used for notifications`|Email that will be used for notifications|\n|**`domains_list`**|`- \"{{ ansible_fqdn }}\"`|List of domain for which you want to get a certificates|\n|**`dns_email`**|`\"\"`|DNS email (used for Cloudflare, LuaDNS)|\n|**`dns_api_key`**|`\"\"`|DNS api key (used for Cloudflare, CloudXNS, DNS Made Easy, NS1)|\n|**`dns_secret_key`**|`\"\"`|DNS secret key (used for CloudXNS, DNS Made Easy)|\n|**`dns_token`**|`\"\"`|DNS token (used for DigitalOcean, DNSimple, LuaDNS)|\n|**`dns_key`**|`\"\"`|DNS key (used for Linode)|\n|**`dns_endpoint`**|`\"\"`|DNS endpoint (used for OVH)|\n|**`dns_application_key`**|`\"\"`|DNS application key (used for OVH)|\n|**`dns_application_secret`**|`\"\"`|DNS application secret (used for OVH)|\n|**`dns_consumer_key`**|`\"\"`|DNS consumer key (used for OVH)|\n|**`dns_server`**|`\"\"`|Target DNS server (used for RFC 2136)|\n|**`dns_port`**|`\"\"`|Target DNS port (used for RFC 2136)|\n|**`dns_name`**|`\"\"`|TSIG key name (used for RFC 2136)|\n|**`dns_secret`**|`\"\"`|TSIG key secret (used for RFC 2136)|\n|**`dns_algorithm`**|`\"\"`|TSIG key algorithm (used for RFC 2136)|\n|**`dns_access_key_id`**|`\"\"`|DNS access key id (used for route 53)|\n|**`dns_secret_access_key`**|`\"\"`|DNS secret access key id (used for route 53)|\n\n## Dependencies\n\n[Docker](https://www.docker.com/) must be installed on the server in order to use this role. If you don't have docker on your server we recommend [angstwad.docker_ubuntu](https://github.com/angstwad/docker.ubuntu) Ansible role.\n\nExample of using `angstwad.docker_ubuntu`:\n```yml\n---\n- name: Setup server\n  hosts: server\n  become: true\n  roles:\n    - { role: angstwad.docker_ubuntu }\n```\n\n## Quick example\n\nExample of the playbook file:\n\n```yml\n---\n- name: Setup server\n  hosts: server\n  become: true\n  roles:\n    - role: paralect.letsencrypt\n      use_dns_plugin: true\n      certbot_version: v0.26.1\n      dns_plugin: cloudflare\n      email: ship@test.com\n      domains_list:\n        - \"*.ship.com\"\n      dns_email: ship_dns@test.com\n      dns_api_key: 0123456789abcdef0123456789abcdef01234567\n```\n\n## Change Log\n\nThis project adheres to [Semantic Versioning](http://semver.org/).\nEvery release is documented on the Github [Releases](https://github.com/paralect/node-letsencrypt/releases) page.\n\n## License\n\nAnsible-letsencrypt is released under the [MIT License](https://github.com/paralect/ansible-letsencrypt/blob/master/LICENSE).\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](https://github.com/paralect/ansible-letsencrypt/blob/master/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore --\u003e\n| [\u003cimg src=\"https://avatars2.githubusercontent.com/u/6461311?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEvgeny Zhivitsa\u003c/b\u003e\u003c/sub\u003e](https://github.com/ezhivitsa)\u003cbr /\u003e[📖](https://github.com/paralect/ansible-letsencrypt/commits?author=ezhivitsa \"Documentation\") [🤔](#ideas-ezhivitsa \"Ideas, Planning, \u0026 Feedback\") [💻](https://github.com/paralect/ansible-letsencrypt/commits?author=ezhivitsa \"Code\") | [\u003cimg src=\"https://avatars3.githubusercontent.com/u/681396?v=4\" width=\"100px;\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAndrew Orsich\u003c/b\u003e\u003c/sub\u003e](https://github.com/anorsich)\u003cbr /\u003e[🤔](#ideas-anorsich \"Ideas, Planning, \u0026 Feedback\") [👀](#review-anorsich \"Reviewed Pull Requests\") |\n| :---: | :---: |\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparalect%2Fansible-letsencrypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparalect%2Fansible-letsencrypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparalect%2Fansible-letsencrypt/lists"}