20c8d6c413
Co-authored-by: Dominik Menke <git@dmke.org>
54 lines
2.2 KiB
TOML
54 lines
2.2 KiB
TOML
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:
|
|
|
|
```
|
|
<domain_A>:<record_id_A1>:<record_id_A2>,<domain_B>:<record_id_B1>:<record_id_B2>,<domain_C>:<record_id_C1>:<record_id_C2>
|
|
```
|
|
|
|
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"
|