Skip to content

Commit 5cc13cf

Browse files
devin-ai-integration[bot]fern-supportdevalogchdeskur
authored
Document custom domain setup in dashboard (#2968)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Fern Support <[email protected]> Co-authored-by: Devin Logan <[email protected]> Co-authored-by: Catherine Deskur <[email protected]>
1 parent 7f86e34 commit 5cc13cf

File tree

5 files changed

+111
-34
lines changed

5 files changed

+111
-34
lines changed

fern/products/dashboard/dashboard.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ navigation:
1111
- page: Set up SSO
1212
path: ./pages/sso.mdx
1313
slug: sso
14+
- page: Custom domains
15+
path: ./pages/domains.mdx
1416
- changelog: ./pages/changelog
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## Set up custom domains in the dashboard
2+
3+
You can now configure custom domains for your documentation site directly in the [Fern Dashboard](https://dashboard.buildwithfern.com/). The dashboard automatically displays the DNS records you need to add to your domain registrar based on your domain type.
4+
5+
[Learn more](/learn/dashboard/configuration/custom-domains) about setting up your custom domain.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: Set up a custom domain
3+
description: Use the Fern Dashboard to configure your custom domain with DNS records for subdomain, subpath, or root domain hosting.
4+
---
5+
6+
You can use the [Fern Dashboard](https://dashboard.buildwithfern.com/) to configure any of the following custom domain types:
7+
- **Subdomain**: `docs.mydomain.com`
8+
- **Subpath**: `mydomain.com/docs`
9+
- **Root domain**: `mydomain.com`
10+
11+
The Dashboard automatically provides the correct DNS records based on your domain type.
12+
13+
<Note>
14+
Alternatively, you can [set up your custom domain by manually configuring DNS records](/learn/docs/preview-publish/setting-up-your-domain).
15+
</Note>
16+
17+
## Setup
18+
19+
<Steps>
20+
<Step title="Open the Dashboard">
21+
22+
Navigate to the [Fern Dashboard](https://dashboard.buildwithfern.com/) and select your documentation site.
23+
</Step>
24+
25+
<Step title="Add your custom domain">
26+
27+
In the **Domains** section of the **Overview** tab, select **Add Custom Domain** and enter your domain. The dashboard displays the DNS records you need to configure.
28+
29+
</Step>
30+
31+
<Step title="Update the domain in `docs.yml`">
32+
33+
Add your `custom-domain` to your `docs.yml` configuration:
34+
35+
```yaml docs.yml
36+
instances:
37+
- url: example.docs.buildwithfern.com
38+
custom-domain: docs.mydomain.com
39+
```
40+
41+
</Step>
42+
43+
<Step title="Configure DNS records">
44+
45+
Log in to your domain registrar and add the DNS records shown in the Fern Dashboard. The specific records depend on your domain type (subdomain, subpath, or root domain).
46+
</Step>
47+
48+
<Step title="Verify the setup">
49+
50+
Once you've added the DNS records, return to the Fern Dashboard to verify your domain. SSL is automatically provisioned for your domain, but it may take a few minutes to propagate globally.
51+
52+
<Tip>Check that you can access your new docs site from a mobile device or incognito browser.</Tip>
53+
</Step>
54+
</Steps>

fern/products/dashboard/pages/overview.mdx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,14 @@ The Fern Dashboard provides a central place to manage your projects, team member
99

1010
Visit your team's [Dashboard](https://dashboard.buildwithfern.com/) and complete initial setup steps:
1111

12-
<CardGroup cols={3}>
12+
<CardGroup cols={2}>
13+
<Card
14+
title="Set up custom domain"
15+
icon="regular globe"
16+
href="/learn/dashboard/configuration/custom-domains"
17+
>
18+
Configure your custom domain with automatic DNS record provisioning.
19+
</Card>
1320
<Card
1421
title="Add team members"
1522
icon="regular users"

fern/products/docs/pages/getting-started/setting-up-your-domain.mdx

Lines changed: 42 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,24 @@ title: Bring your custom domain
33
description: Learn how to set up your Fern-generated documentation site to use a custom subdomain or subpath.
44
---
55

6-
Bring Fern Docs to your custom domain. You can use:
7-
- A subdomain on your custom domain, such as `docs.mydomain.com`
8-
- A subpath on your custom domain, such as `mydomain.com/docs`
9-
- A root domain, such as `mydomain.com`
6+
You can configure any of the following custom domain types:
7+
- **Subdomain**: `docs.mydomain.com`
8+
- **Subpath**: `mydomain.com/docs`
9+
- **Root domain**: `mydomain.com`
1010

11-
<Info>
12-
Once you've set up your domain, use the [Fern Dashboard](https://dashboard.buildwithfern.com/) to manage site settings.
13-
</Info>
11+
Fern recommends [using the Fern Dashboard to set up custom domains](/learn/dashboard/configuration/custom-domains). The Dashboard automatically provides the correct DNS records based on your domain type. If you prefer to configure your domain manually, follow the instructions on this page.
12+
13+
## Manual setup
14+
15+
Expand the section below that matches your domain type:
1416

1517
<AccordionGroup>
16-
<Accordion title = "Subdomain">
18+
<Accordion title="Subdomain">
1719

1820
To host your documentation on a subdomain like `docs.mydomain.com`, you need to create a CNAME record in your DNS settings.
1921

2022
<Steps>
21-
22-
### Update the domain in `docs.yml`
23+
<Step title="Update the domain in `docs.yml`">
2324

2425
Add your `custom-domain` and merge your changes into `main`. [Here's an example](https://github.com/octoml/fern-config/blob/389b67679953856ba0716537981a6d749635556f/fern/docs.yml#L1-L3 ).
2526

@@ -28,14 +29,16 @@ instances:
2829
- url: example.docs.buildwithfern.com
2930
custom-domain: docs.mydomain.com
3031
```
32+
</Step>
3133
32-
### Contact Fern
34+
<Step title="Contact Fern">
3335
3436
Contact Fern via your dedicated Slack channel or [email](mailto:[email protected]) to receive:
3537
- A unique CNAME value for your site
3638
- A TXT record to verify your domain
39+
</Step>
3740
38-
### Create DNS records
41+
<Step title="Create DNS records">
3942
4043
Log in to your domain registrar's dashboard and navigate to the DNS settings for your domain. Add the following records:
4144
@@ -58,34 +61,36 @@ Replace `docs` with any subdomain you want to use.
5861
<Warning title="Cloudflare users">
5962
If you are using Cloudflare, you should ensure the record isn't proxied.
6063
</Warning>
64+
</Step>
6165

62-
### Verify the setup
66+
<Step title="Verify the setup">
6367

6468
Once Fern has completed your setup, you'll be able to access your documentation at `docs.mydomain.com`. SSL will be automatically provisioned for your domain, but it may take a few minutes to propagate globally.
6569

6670
<Tip>Check that you can access your new docs site from a mobile device or incognito browser.</Tip>
71+
</Step>
6772

6873
</Steps>
6974
</Accordion>
7075

71-
<Accordion title = "Subpath">
76+
<Accordion title="Subpath">
7277

7378
To host your documentation on a subpath like `mydomain.com/docs`, you need to edit your `docs.yml` configuration and then get provider-specific instructions for setting up the subpath. Common providers include Cloudflare, AWS Route53 and Cloudfront, Netlify, and Vercel.
7479

7580
<Steps>
76-
77-
### Configure the `url` in `docs.yml`
81+
<Step title="Configure the `url` in `docs.yml`">
7882

7983
Append that subpath to the end of the `url`. This example use `docs` for the subpath, but you can use any word you like, such as `reference` or `developer`.
8084

8185
<CodeBlock title="docs.yml">
8286
```yaml
83-
instances:
87+
instances:
8488
- url: example.docs.buildwithfern.com/docs
8589
```
8690
</CodeBlock>
91+
</Step>
8792
88-
### Configure the `custom-domain`
93+
<Step title="Configure the `custom-domain`">
8994

9095
Below the `url`, add a `custom-domain` key:
9196

@@ -98,26 +103,28 @@ instances:
98103
</CodeBlock>
99104

100105
[Here's an example.](https://github.com/fern-api/fern/blob/7d8631c6119787a8aaccb4ba49837e73c985db28/fern/docs.yml#L1-L3)
106+
</Step>
101107

102-
### Contact Fern
108+
<Step title="Contact Fern">
103109

104-
Contact Fern via your dedicated Slack channel or [email](mailto:[email protected]) to set up your custom subpath.
110+
Contact Fern via your dedicated Slack channel or [email](mailto:[email protected]) to set up your custom subpath.
111+
</Step>
105112

106-
### Verify the setup
113+
<Step title="Verify the setup">
107114

108115
Once Fern has completed your setup, you'll be able to access your documentation at `mydomain.com/docs`. It may take a few minutes for DNS changes to propagate globally.
109116

110117
<Tip>Check that you can access your new docs site from a mobile device or incognito browser.</Tip>
118+
</Step>
111119

112120
</Steps>
113121
</Accordion>
114-
<Accordion title = "Root domain">
122+
<Accordion title="Root domain">
115123

116124
To host your documentation on a root domain like `mydomain.com`, you need to edit your `docs.yml` configuration and then get provider-specific instructions for setting up the domain. Common providers include Cloudflare, AWS Route53 and Cloudfront, Netlify, and Vercel.
117125

118126
<Steps>
119-
120-
### Configure the `url` in `docs.yml`
127+
<Step title="Configure the `url` in `docs.yml`">
121128

122129
<CodeBlock title="docs.yml">
123130
```yaml
@@ -128,14 +135,16 @@ instances:
128135
</CodeBlock>
129136

130137
[Here's an example.](https://github.com/dannysheridan/katiedanny/blob/2fcf5769e2994af29e31d00904e04788b188a18b/fern/docs.yml#L3-L5)
138+
</Step>
131139

132-
### Contact Fern
140+
<Step title="Contact Fern">
133141

134142
Contact Fern via your dedicated Slack channel or [email](mailto:[email protected]) to receive:
135143
- A unique CNAME value for your site
136144
- A TXT record to verify your domain
145+
</Step>
137146

138-
### Configure your DNS settings
147+
<Step title="Configure your DNS settings">
139148

140149
You'll need the following DNS records configured for your root domain.
141150

@@ -163,20 +172,22 @@ TXT @ [TXT record value provided by Fern]
163172
This redirects `mydomain.com` to `www.mydomain.com`.
164173
165174
After you add these records, Fern will provision a SSL certificate.
175+
</Step>
166176
167-
### Verify the setup
177+
<Step title="Verify the setup">
168178
169179
Once Fern has completed your setup, you'll be able to access your documentation at `mydomain.com`. SSL will be automatically provisioned for your domain, but it may take a few minutes to propagate globally.
170180
171181
<Tip>Check that you can access your new docs site from a mobile device or incognito browser.</Tip>
182+
</Step>
172183
173184
</Steps>
174185
</Accordion>
175-
</AccordionGroup>
186+
</AccordionGroup>
176187
177-
## Multiple custom domains
188+
### Multiple custom domains
178189
179-
To serve your documentation from multiple custom domains (e.g., for partner or white-label deployments), configure an array of domains:
190+
To serve your documentation from multiple custom domains (e.g., for partner or white-label deployments), follow the above steps for each domain (subdomain, subpath, or root domain), then configure an array in your `docs.yml`:
180191
181192
```yaml docs.yml
182193
instances:
@@ -186,8 +197,6 @@ instances:
186197
- partner.otherdomain.com
187198
```
188199

189-
This works with any of the above domain types (subdomain, subpath, or root domain).
190-
191200
<Info>
192201
After configuring multiple domains in your `docs.yml`, contact Fern via your dedicated Slack channel or [email](mailto:[email protected]) to complete the setup. You'll receive DNS configuration details for each domain.
193-
</Info>
202+
</Info>

0 commit comments

Comments
 (0)