diff --git a/configuration/domain-names.mdx b/configuration/domain-names.mdx
index 4a6b143..645765e 100644
--- a/configuration/domain-names.mdx
+++ b/configuration/domain-names.mdx
@@ -6,7 +6,55 @@ icon: "globe"
-Adding custom domain names to projects is currently available to Pro users.
+By adding a custom domain to your project, web traffic can be served on your own fancy domain name instead of `*.shuttleapp.rs`.
-For now, you have to reach out to the team to set up your domain.
-This will be automated in the future.
+You can add a root-level domain (`example.com`) or a subdomain (`thing.example.com`).
+
+Adding a custom domain to your project follows these steps:
+- Purchase a domain name from a DNS provider,
+- set up a DNS record to make it point to your Shuttle server, and
+- get an SSL certificate that enables HTTPS traffic to your project.
+
+# Set up DNS record
+
+The process for setting up the required DNS rule looks different depending on which type of domain and registrar you have.
+
+## Cloudflare
+
+If you have your domain name on Cloudflare, the process is quite simple. Go to `Websites -> -> DNS -> Records -> Add Record`, then follow the relevant section below.
+
+### Root domain
+
+Add a `CNAME` record from `@` to your `.shuttleapp.rs` subdomain. Disable the Proxy.
+
+![cloudflare root cname](/images/cloudflare_root_cname.png)
+
+Adding a `CNAME` on the root level here is possible due to Cloudflare's [CNAME flattening](https://developers.cloudflare.com/dns/cname-flattening/).
+
+You can also add a `CNAME` for the `www` subdomain if you also want traffic to `www.example.com` to arrive to your service.
+
+### Subdomain
+
+Add a `CNAME` record from your subdomain to your `.shuttleapp.rs` subdomain. Disable the Proxy.
+
+![cloudflare subdomain cname](/images/cloudflare_sub_cname.png)
+
+In the example above, the subdomain `thing` (as in `thing.my-domain.com`) is being directed to `example.shuttleapp.rs`.
+
+## Other DNS providers
+
+The process for other providers can vary, but here are the general steps. If you want to add docs for a specific provider, feel free to contribute to this page.
+
+### Root domain
+
+If you are adding a root-level domain, add an `A` record that points to the same IP address that is returned by `dig A example.shuttleapp.rs`, which is currently `18.132.234.15`.
+
+### Subdomain
+
+If you are adding a subdomain, add a `CNAME` record from your subdomain to your `.shuttleapp.rs` subdomain.
+
+# Set up SSL certificate
+
+When your DNS record has propagated, you want to get an SSL certificate signed by Shuttle.
+
+For now, you have to reach out to the Shuttle team on Discord or `support@shuttle.rs` to set up your SSL certificate manually, but this will soon be automated.
diff --git a/images/cloudflare_root_cname.png b/images/cloudflare_root_cname.png
new file mode 100644
index 0000000..838940e
Binary files /dev/null and b/images/cloudflare_root_cname.png differ
diff --git a/images/cloudflare_sub_cname.png b/images/cloudflare_sub_cname.png
new file mode 100644
index 0000000..e65d69b
Binary files /dev/null and b/images/cloudflare_sub_cname.png differ