URLs and domains
Every web service gets an HTTPS URL.
Default URLs
Each web service gets:
https://<service>-<project>.greyshipapp.techfor example https://api-shop.greyshipapp.tech. grey deploy prints it when the deploy is live, and the dashboard
shows it on the project page.
- HTTPS certificates are issued and renewed automatically.
- If
<service>-<project>is taken, a short random suffix is added (api-shop-k7x2.greyshipapp.tech), shown at deploy time. - Names longer than 63 characters are shortened with a short hash.
- A service keeps its URL across deploys, rollbacks and scaling.
- Workers and crons get no URL.
Apps live on greyshipapp.tech, a different domain from Greyship's own (greyship.tech), so no app can read or set
cookies for the dashboard or another app.
Custom domains
Serve a web service on your own domain, such as api.example.com.
- In the dashboard open the project's Domains page and press Add domain (or run
grey domains add api.example.com; add--service apiif the project has several web services). - At your DNS provider create the record the page shows:
- a CNAME from
api.example.comto the service's default address (for exampleapi-shop.greyshipapp.tech), or - for a name with no subdomain (
example.com), an A record to your server's IP address, because a bare domain can't be a CNAME.
- a CNAME from
- The page tells you when the name points here. HTTPS is set up by itself the first time someone visits the name, and renews on its own.
grey domains lists the project's addresses with the DNS state of each custom one; grey domains remove api.example.com
stops serving it.
Good to know:
- A domain belongs to one service, and nobody else on the Greyship can add the same name.
- Names under Greyship's own domains can't be used.
- HTTPS needs your Greyship itself to be on a domain with HTTPS (see Self-hosting). On an install that still runs on its IP address, custom domains work over plain HTTP.
- Removing a service or deleting the project removes its domains.