Domains
Custom domains and HTTPS
Use the default apps.marvx.io address or a free domain, connect your own domain with an A record, verify DNS, and get automatic Let's Encrypt HTTPS.
Manage domains on the project's Domains tab or the Domains page. Changes need the Developer role or higher.
Addresses every app gets
https://<project>-<id>.apps.marvx.io, created after the first successful deployment.- A Free domain (e.g.
my-api-a1b2c3.<server-ip>.sslip.io) that works without DNS setup.
Connect your own domain
- Click Add domain. Domain: hostname only (
app.example.comorexample.com), nohttps://, path or port. A hostname can belong to only one app on MarvX. - Optional: Path (serve only a prefix like
/api), Container port (instead of the app'sPORT), Strip path (remove the prefix before your app sees it), HTTPS (on; leave it on), Certificate (Let's Encrypt or None (bring your own)). - Click Add domain. The app redeploys automatically to apply routing; this doesn't count toward monthly deployments.
- Add the record shown under Point your domain at MarvX:
| Type | Name | Value |
|---|---|---|
| A | @ for an apex domain, or the subdomain part (e.g. app) | The IP shown on the Domains tab |
- Choose Check DNS. "DNS is set up correctly" adds a DNS verified badge.
Use an A record with that exact IP, not a CNAME to your apps.marvx.io address.
HTTPS
- With Let's Encrypt, a certificate is issued automatically on the first visit after DNS points at MarvX (usually within a minute) and renews automatically.
- All HTTP requests redirect to HTTPS, so turning HTTPS off makes the domain unreachable.
- None (bring your own) serves the platform's default certificate; browsers warn unless a proxy like Cloudflare (SSL mode Full) handles TLS for visitors. Uploading your own certificate isn't supported.
www and apex
www.example.com and example.com are separate: add both, each with an A record. MarvX doesn't redirect between them.
Managing domains
Domain menu: Open, Edit, Check DNS, Copy URL, Remove (redeploys so the hostname stops routing). A Routing error badge means routing couldn't be applied yet; click Deploy.
Cloudflare
Let's Encrypt can't validate through Cloudflare's proxy (orange cloud). Either:
- Recommended: set the record to DNS only (grey cloud), or
- Keep it proxied, set Certificate to None (bring your own) and Cloudflare SSL/TLS to Full (not Full strict). Check DNS will show Cloudflare IPs; that's expected.
Problems? See Troubleshooting domains and HTTPS.