Before you start
You need a deployed Primo instance, access to the site’s dashboard controls, and a hostname you can use. For a custom domain, you also need access to its DNS settings and the hosting service or reverse proxy that handles HTTPS. Railway configures DNS and HTTPS for a Railway-generated hostname. Your site can stay in the editor while you configure its public address. Connecting a domain and publishing content are separate steps.Watch: Connect a Railway hostname and publish a site
Railway provides DNS routing and HTTPS for its generated hostname. This recording uses Primo’s default manual domain mode to assign that address, publish the site, and check public pages. For a custom domain, also follow the DNS steps below. Download video · Download captionsRead the walkthrough
Read the walkthrough
- Use the Railway-generated hostname. Its DNS routing and HTTPS are already configured by Railway.
- The prepared site begins without a public hostname assigned in Primo.
- Open the site menu and choose
Assign domain. - Enter the Railway hostname without https:// or a path, then choose Connect.
- For this generated Railway hostname, skip registrar DNS steps: routing and HTTPS are already verified.
Mark as connectedrecords manual connection status. It does not publish the site.- Open the editor and choose Publish. Confirm the destination, then choose
Publish changes. - Wait for
Changes publishedbefore viewing the public site. - Open the public HTTPS homepage and verify the saved headline.
- Follow a navigation link and verify the About page.
- Check a nested blog URL too. This walkthrough uses a Railway hostname; custom domains also need your own DNS configuration.
Connect the domain
1
Assign the hostname in Primo
Open the site’s dashboard menu and choose Assign domain. Enter the hostname visitors should use, such as
garden.example.com.The hostname identifies a site; it is not the site’s display name or a page slug.2
Connect the hostname to your host
A Railway-generated hostname is already attached to the service. You can continue to HTTPS verification.For a custom domain on a Railway instance with the domain integration configured, Primo attaches the hostname and shows DNS instructions. Otherwise, add the domain in your hosting provider’s controls or configure it in your VPS reverse proxy.Follow Railway domain setup or VPS reverse proxy setup. Railway’s public networking guide describes its HTTPS and domain controls.
3
Add the DNS records
If you use a Railway-generated hostname, skip this step: Railway already configures its DNS.For a custom domain, copy the record type, host, and destination from your hosting provider or Primo’s domain dialog into your DNS provider. Use the values for your deployment, not the tutorial hostname.For a VPS, point the hostname to your server and configure the reverse proxy to accept it. Wait for DNS resolution and certificate issuance before marking a manual connection complete.
4
Verify HTTPS and the connection
Open the hostname over HTTPS and confirm the certificate is valid and the request reaches your Primo instance. In manual mode, use Mark as connected only after this verification. The Railway integration reports connection status as provisioning completes.
5
Publish and check the site
Save open editor dialogs, then choose Publish → Publish changes. This publishes the site’s saved changes across its pages.Open the public hostname in a separate browser tab. Check the homepage, one nested page, images, and navigation links.
Automatic subdomains
PRIMO_BASE_DOMAIN gives new sites a subdomain on your base domain. Configure wildcard DNS and TLS as well; assigning an address does not make it reachable by itself.
Troubleshoot a connection
For server errors, see Network and SSL troubleshooting.