Domains

Your brand, on your cluster

Every app gets a URL the moment it deploys. Attach the domains you already own — including the root domain of the platform itself — and let certificates take care of themselves.

01 / Instant

A URL the moment you ship

Each app is reachable on a subdomain of your cluster as soon as its first release is live. Share it with the team before public DNS exists. A router runs on every host, so there is no separate load balancer to buy or configure.

02 / Custom domains

Your brand, not a vendor's

Point a hostname you own at the cluster and attach it to the app from the CLI or the dashboard. Add as many as you need. Additional web-facing process types — an admin console, an API — get their own hostnames.

$ flynn route:add http --auto-tls www.example.com
03 / HTTPS

Certificates that look after themselves

  • Let's Encrypt, automatic. Once operators enable ACME on the cluster, any route can request a certificate and Flynn renews it.
  • Bring your own. Policy requires a specific CA? Attach your certificate and key to the route instead.
  • HTTP/2 included. Enabling HTTPS on a route enables HTTP/2 automatically.
  • Platform routes too. The dashboard and the platform API get trusted certificates the same way.
04 / Beyond hostnames

Path, TCP, and sticky routes

  • Path-based routes. Send example.com/api to a different app than example.com. Only cluster administrators create path routes, which keeps one team from claiming a path under another's hostname.
  • TCP routes. Publish non-HTTP services on a port range, with TLS passthrough or termination. Datastores can be exposed the same way for outside clients.
  • Sticky sessions. Turn on cookie-based stickiness for apps that keep state in memory between requests.
05 / Root domain

The root domain is yours as well

Apps normally live on subdomains. The bare root domain of the platform can be owned by one app too — typically this homepage — so anyone who types the naked domain lands somewhere you chose. Operators can reassign the root to a different app at any time.

Next: data that stays with the app →

Operators

Turning on Let's Encrypt is two commands

Register an ACME account, enable it for platform routes, and every app route can opt in.