Deployment
Custom Domains

Definition

You can specify that your service should listen on a custom domain:

services:
  web:
    domain: myapp.example.org
    port: 3000

You can also specify multiple domains using this syntax:

services:
  web:
    domain:
      - myapp.example.org
      - "*.example.org"
    port: 3000

Using a custom domain requires a valid SSL certificate for the domains being specified.

If a single certificate does not already exist in your account that matches all the domains you specify for your service, one will be automatically created. The DNS owner will receive a validation email with a link that needs to be clicked for this process to complete. This will happen the first time you deploy your service with your configuration

You can pre-generate your SSL certificate ahead of deploy time if you wish.

Dynamic Configuration

You can use environment interpolation so that you don’t have to hardcode the hostname in your convox.yml:

services:
  web:
    domain: ${HOST}
    port: 3000

Configuring DNS

Run convox rack and find the Router value. Configure your custom domain as a CNAME to this domain.

Example

Name docs.convox.com
Type CNAME
Value produ-Route-1ABCDEFGHIJK-01234569.us-east-1.elb.amazonaws.com
TTL 60

To set up DNS for a root domain you should use the an Alias type with Route 53 or the equivalent with your DNS provider.