SHOP_DOMAIN, PREVIEW_DOMAIN, API_DOMAIN, and MATOMO_DOMAIN, so shoppers, admins, and analytics all reach the right container securely.
What the edge does
Caddy sits in front of the storefront, Medusa, Payload, and Matomo. When a request arrives, it matches the hostname and forwards traffic to the right upstream. It also requests and renews TLS certificates automatically via ACME.Access modes and the edge
Vulpy Commerce supports four access modes. The edge behaves differently in each:
For Tailscale-only setups, see Tailscale access.
Edge CLI commands
Use these commands from the host (not inside the Fox container):ACME and certificate issuance
When you point a domain at the VPS, Caddy requests certificates from Let’s Encrypt or ZeroSSL. Certificates are requested only after DNS resolves correctly. If DNS is wrong, Caddy will retry with exponential backoff. For DNS setup guidance, see DNS configuration.sslip.io fallback
If no domain is configured, the edge automatically serves<ip>.sslip.io hostnames. This lets you access the shop and admin immediately without buying or configuring a domain.
Add a preview domain
1
Set the preview domain
Run
pnpm vulpy env set-domain <name> and enter your preview domain when prompted.2
Point DNS
Create an A record at your DNS provider that points the preview domain to the VPS IP.
3
Start the edge
Run
pnpm vulpy edge up to apply the new hostname and request a certificate.Custom Caddy directives
You can add custom Caddy directives by editing the deploy Caddyfile in the repo. After making changes, rebuild the edge container so the new configuration is loaded.DNS configuration
Point domains and verify DNS before going live.
Going live
Promote staging to live with the golive command.