Skip to main content
The 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

A successful installation ends with:

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

Replace 0123456789abcdef... with the actual API token value.
4

Restrict file permissions

Acquire a certificate

1

Run certbot to request the certificate

The example uses *.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 Some challenges have failed appears, increase the propagation wait time and retry:
If the error persists, verify that the domain’s nameservers point to 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 renew as a cron job for automatic background renewal.