01

Install the CLI

Install the current CLI with Homebrew:

Terminal
brew install lucor/tap/lancert

Or install it from source with Go:

Terminal
go install go.lucor.dev/lancert-cli/cmd/lancert@latest
02

Get the certificate

Pass the private IPv4 address of your local app:

Terminal
lancert 192.168.1.50

On the first request, the CLI asks you to accept the certificate authority’s terms. It then prints the hostname and the paths to the certificate and private key.

Output
Certificate issued.
Hostname: quiet-otter.lancert.dev
Certificate: /home/alice/.config/lancert/certs/quiet-otter.lancert.dev/fullchain.pem
Private key: /home/alice/.config/lancert/certs/quiet-otter.lancert.dev/privkey.pem
Let’s Encrypt is the default. Its terms, policies, and rate limits apply. Use --acme-directory to select another ACME-compatible certificate authority.

The certificate covers the assigned hostname and its wildcard. Your ACME account, certificate, and private key stay on your machine.

03

Configure your web server

Use the certificate and private key paths printed by the CLI in your web server configuration.

Caddyfile
quiet-otter.lancert.dev, *.quiet-otter.lancert.dev {
    tls /path/to/fullchain.pem /path/to/privkey.pem
    reverse_proxy 127.0.0.1:3000
}

Reload with caddy reload --force --config /path/to/Caddyfile.

04

Renew the certificate

Run the CLI renewal command regularly from cron, systemd, or launchd:

Terminal
lancert renew

The CLI checks every locally managed certificate and renews those that are due.

Prefer another ACME client?

Use Lancert’s DNS service with Lego, Certbot, acme.sh, or another compatible client. Open the ACME client guide.