certbot-dns-gcore plugin automates Let’s Encrypt certificate issuance and renewal using the Gcore DNS API. To confirm domain ownership, it uses a DNS-01 challenge: a TXT record with a specific value must be present under the domain name. The plugin creates and removes these TXT records automatically when obtaining, renewing, or revoking certificates.
The domain must be delegated to Gcore nameservers (
ns1.gcorelabs.net and ns2.gcdn.services), and a Gcore account is required.Install the Certbot plugin
All steps run in a terminal on the Linux server where Certbot will be installed. Connect to it via SSH before starting. The commands below apply to Ubuntu 22.04; other Linux distributions may require different package names.
1
Update package lists
2
Install pip3 and the venv module
3
Create and activate a virtual environment
Ubuntu 22.04 and later restrict direct pip installations into the system Python. A virtual environment avoids this restriction:The shell prompt changes to show
(certbot-venv) when the environment is active.4
Install the Certbot plugin
Create credentials for the Certbot plugin
The plugin authenticates with the Gcore DNS API using an API token to create and remove TXT records on behalf of the domain.1
Navigate to the home directory
2
Create the credentials file
Create a file named
gcore.ini in the home directory using any text editor:3
Add the API token to the file
0123456789abcdef... with the actual API token value.4
Restrict file permissions
Acquire a certificate
1
Run certbot to request the certificate
*.example.com to request a wildcard certificate covering all subdomains. To secure a single domain, omit the wildcard prefix: -d 'example.com'.2
Enter an email address and agree to the terms
Certbot prompts for an email address for renewal notifications and urgent security alerts:Enter a valid email address, then type
Y to agree. Certificate issuance starts automatically.3
Confirm the certificate was issued
A successful issuance returns:If If the error persists, verify that the domain’s nameservers point to
Some challenges have failed appears, increase the propagation wait time and retry:ns1.gcorelabs.net and ns2.gcdn.services. Nameserver changes can take up to 24 hours to propagate globally.Renew a certificate
Let’s Encrypt certificates expire after 90 days. There are two renewal options:- Manual: Run the following commands to renew any previously issued certificate expiring within 30 days:
- Automatic (recommended): Schedule
certbot renewas a cron job for automatic background renewal.