Explita InfraExplita Infra
DeployCLI Reference

eda domain

Manage custom domains, automated Let's Encrypt TLS certificates, and DNS diagnostics

The eda domain command group configures custom domain names for your applications. Explita Deploy integrates directly with Caddy Server's dynamic internal configuration API to provision and automatically renew SSL/TLS certificates via Let's Encrypt and ZeroSSL.

eda domain <subcommand> [options]
explita deploy domain <subcommand> [options]

1. Subcommands Overview

CommandDescription
eda domain lsList all custom domains attached to the application.
eda domain add <domain...>Attach one or more custom domains and configure automatic TLS.
eda domain rm <domain>Detach a custom domain and revoke reverse-proxy routing.
eda domain check <domain>Run DNS A/CNAME verification and check SSL certificate health.

2. List Attached Domains (eda domain ls)

Inspect all custom domains bound to an application, including SSL issuance status, DNS resolution state, and HTTP-to-HTTPS redirect configurations.

eda domain ls [-a <appId>]

Example Output:

Domains for my-next-app (app_9f3a12):
  • example.com         [Status: ACTIVE]   (TLS: Let's Encrypt, auto-renew in 45 days)
  • app.example.com     [Status: ACTIVE]   (TLS: Let's Encrypt, auto-renew in 62 days)
  • staging.example.com [Status: PREVIEW]  (Mapped to deployment d79)

3. Attach Custom Domain(s) (eda domain add)

Attach one or more fully qualified domain names (FQDN) to your application:

eda domain add <domain...> [-a <appId>]

Examples:

# Attach apex domain to current project
eda domain add example.com

# Attach multiple domains simultaneously
eda domain add example.com www.example.com

# Attach a subdomain to a specific application ID
eda domain add api.example.com -a app_9f3a12

Prerequisites for TLS:

Before running eda domain add, configure DNS records at your domain registrar:

  • Apex domain (example.com): Add an A Record pointing @ to your server's public IPv4 address.
  • Subdomain (app.example.com): Add a CNAME Record pointing to your server's apex domain, or an A Record pointing to the server IP.

As soon as the domain is attached, Caddy initiates the ACME HTTP-01 challenge and obtains an SSL certificate within seconds.


4. Detach a Custom Domain (eda domain rm)

Remove a custom domain mapping from Caddy:

eda domain rm <domain> [-a <appId>]

Example:

eda domain rm staging.example.com

Traffic to this domain immediately stops routing to the application container, returning a clean 404.


5. Verify DNS & SSL Status (eda domain check)

Verify whether public DNS records have propagated and confirm whether Caddy's ACME certificate challenge has succeeded:

eda domain check <domain> [-a <appId>]
# Alias:
eda domain verify <domain>

Example Output:

🔍 Checking domain configuration for api.example.com...
  ✓ DNS Resolution: Resolved to 198.51.100.42 (Matches VPS public IP)
  ✓ Port 80 Ingress: Reachable (HTTP-01 challenge accessible)
  ✓ Port 443 Ingress: Reachable (TLS 1.3 active)
  ✓ Certificate Authority: Let's Encrypt
  ✓ Expiry Date: Valid until 2026-12-15 (58 days remaining)
  ✓ Caddy Reverse Proxy: Upstream healthy (Proxying to 127.0.0.1:42180)

On this page