Name = "SelfHost.(de|eu)" Description = '''''' URL = "https://www.selfhost.de" Code = "selfhostde" Since = "v4.19.0" Example = ''' SELFHOSTDE_USERNAME=xxx \ SELFHOSTDE_PASSWORD=yyy \ SELFHOSTDE_RECORDS_MAPPING=my.example.com:123 \ lego --email you@example.com --dns selfhostde --domains my.example.org run ''' Additional = """ SelfHost.de doesn't have an API to create or delete TXT records, there is only an "unofficial" and undocumented endpoint to update an existing TXT record. So, before using lego to request a certificate for a given domain or wildcard (such as `my.example.org` or `*.my.example.org`), you must create: - one TXT record named `_acme-challenge.my.example.org` if you are **not** using wildcard for this domain. - two TXT records named `_acme-challenge.my.example.org` if you are using wildcard for this domain. After that you must edit the TXT record(s) to get the ID(s). You then must prepare the `SELFHOSTDE_RECORDS_MAPPING` environment variable with the following format: ``` ::,::,:: ``` where each group of domain + record ID(s) is separated with a comma (`,`), and the domain and record ID(s) are separated with a colon (`:`). For example, if you want to create or renew a certificate for `my.example.org`, `*.my.example.org`, and `other.example.org`, you would need: - two separate records for `_acme-challenge.my.example.org` - and another separate record for `_acme-challenge.other.example.org` The resulting environment variable would then be: `SELFHOSTDE_RECORDS_MAPPING=my.example.com:123:456,other.example.com:789` """ [Configuration] [Configuration.Credentials] SELFHOSTDE_USERNAME = "Username" SELFHOSTDE_PASSWORD = "Password" SELFHOSTDE_RECORDS_MAPPING = "Record IDs mapping with domains (ex: example.com:123:456,example.org:789,foo.example.com:147)" [Configuration.Additional] SELFHOSTDE_POLLING_INTERVAL = "Time between DNS propagation check" SELFHOSTDE_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation" SELFHOSTDE_TTL = "The TTL of the TXT record used for the DNS challenge" SELFHOSTDE_HTTP_TIMEOUT = "API request timeout"