Files
classroomio/apps/docs/content/docs/custom-domain.mdx
T
Rotimi Best 81294a47f9 feat: live class sessions, CE workflow, and docs (#683)
Adds live-class session scheduling on lessons (join link, date/time,
timezone) with automatic 24h and 1h reminder emails plus a calendar
invite (.ics), a time-change notification with an updated invite, a
teacher-authored welcome email and session invite on enrollment, and a
"Notify students" quiz nudge.

LMS gets an upcoming live-sessions card and Join buttons, plus a
reusable live-session card component (3 states) in @cio/ui with a
Storybook story. The sidebar content tree now reflects sequential
progression locking like the content list, and the course-completion
confetti regression is fixed.

Org-based emails no longer reference ClassroomIO by name. Docs add
live-class, welcome-email, and course-progression guides, expand the
certificates guide (design, signatures, corrected labels), move
plan-required callouts to the top, flatten how-to-guides to the docs
root with redirects, and add screenshots. Includes an add-docs-image
skill.
2026-06-22 05:43:48 +01:00

81 lines
3.4 KiB
Plaintext

---
title: Set Up a Custom Domain
description: Connect and verify a custom domain for your ClassroomIO academy and learn which links use your org URL.
---
import { Callout } from 'fumadocs-ui/components/callout';
import { Step, Steps } from 'fumadocs-ui/components/steps';
Every organization gets a default site at `https://<siteName>.myclassroomio.com`. You can connect your own domain (for example `https://learn.yourcompany.com`) so students see your brand in the browser bar and in links.
## How ClassroomIO picks a base URL
When ClassroomIO builds a link for your organization, it resolves the host in this order:
1. **Verified custom domain** → `https://<your-domain>`
2. **Self-hosted override** (`DASHBOARD_ORIGIN` env var, if set)
3. **Development** → `http://localhost:5173`
4. **Academy URL** → `https://<siteName>.myclassroomio.com`
5. **Fallback** → `https://app.classroomio.com`
Most customer-facing course links use your org context and stop at step 1 or 4. The `app.classroomio.com` fallback applies when no academy URL is available.
## Set up your domain
<Steps>
<Step>
### Open domain settings
From the admin dashboard, go to **Settings → Organization**, then click **Edit domain** in the Custom Domain section.
</Step>
<Step>
### Enter your domain
Add the hostname you want (for example `learn.yourcompany.com`). Follow the DNS instructions ClassroomIO shows to verify ownership.
</Step>
<Step>
### Wait for verification
Verification can take time while DNS propagates. The domain must show as verified before links use it.
</Step>
<Step>
### Test on the live site
Open your custom domain in a browser. Sign in, open a course landing page, and confirm URLs stay on your domain.
</Step>
</Steps>
<Callout type="warn" title="Verification required">
An unverified custom domain is not used for generated links. Until verification succeeds, ClassroomIO keeps using `<siteName>.myclassroomio.com`.
</Callout>
## Which links use your org URL
| Link type | Uses org domain when verified? |
| --- | --- |
| Course enrollment (`/course/.../enroll`) | Yes |
| Course invite emails from **People** | Yes |
| Org site landing page and course catalog | Yes |
| Organization team invite (some flows) | May still use platform URL until fully aligned |
Course invites are documented in [How to Invite Students](/docs/invite-students). Those links should point at your academy, not `app.classroomio.com`, when your domain is verified.
## Email sender address
Invite and notification emails may still send from the ClassroomIO platform mail address. Your **organization name** appears in the message body; the sender inbox is not fully white-labeled today.
## Student login and redirects
Students should sign in on your academy so sessions and redirects stay on your academy URL. If login sends users to `app.classroomio.com` unexpectedly, check that the custom domain is verified and that you are sharing academy links (not the generic app URL).
## Related guides
- [Customize Your Organization](/docs/customize-organization) — org profile and default subdomain
- [Customize Your Academy Landing Page](/docs/org-landing-page) — public homepage on your domain
- [How to Invite Students](/docs/invite-students) — enrollment links on your academy
- [How Course Enrollment Works](/docs/course-enrollment) — enrollment paths and org signup
- [Organization](/docs/organization) — org settings overview