-
Notifications
You must be signed in to change notification settings - Fork 1
Multi Tenant Groups
A group (also called a dashboard) is a branded status page scoped to a specific set of servers and users. Groups are the core of Applegate Monitor's multi-tenant architecture — each one gets its own URL, logo, color scheme, and user list.
- Each group has a unique slug used in its URL:
/dashboard/<slug> - Servers are assigned to groups in a many-to-many relationship — one server can appear on multiple dashboards
- Viewer users are assigned to groups and can only see dashboards they belong to
- Admin users see all groups and all servers in the master admin panel
- Log in as an admin and go to the admin panel.
- Click the Groups tab.
- Click Add Group.
- Fill in the slug, display name, and any branding options (see below).
- Save — the dashboard is immediately accessible at
/dashboard/<slug>.
Each group can be fully branded independently:
| Option | Description |
|---|---|
| Slug | URL-safe identifier used in the dashboard path (e.g. acme-corp → /dashboard/acme-corp) |
| Display Name | Shown as the dashboard title |
| Logo | Text string or image URL displayed in the dashboard header |
| Logo Size | Size of the logo image (small, medium, large) |
| Accent Color | Primary highlight color (hex, e.g. #3b82f6) |
| Background Color | Dashboard background color (hex) |
| Default Theme |
dark or light — applied on first visit (user can toggle per-device) |
| Subtitle | Optional tagline shown below the dashboard title |
| Privacy Policy Text | Custom privacy policy content for this group's legal page |
| Terms Text | Custom terms of service content for this group's legal page |
Each group can be served at its own domain (e.g. status.acmecorp.com) instead of the default path-based URL.
Setup:
- In the group's settings, set Custom Domain to the desired hostname (e.g.
status.acmecorp.com). - Point the domain's DNS to your server.
- Add a reverse proxy block for the domain:
status.acmecorp.com {
reverse_proxy status-server:3000
}The app detects the Host header and automatically serves the correct branded dashboard — no path needed. Visitors to https://status.acmecorp.com see only the servers assigned to that group.
- In the admin panel → Servers tab, open a server's edit form.
- Under Groups, select one or more groups to assign this server to.
- Save — the server now appears on all selected dashboards.
Alternatively, manage group membership from the Groups tab by editing a group and selecting its servers.
A server not assigned to any group is only visible to admins in the master server list.
Viewer users must be assigned to groups to see any dashboards.
- In the admin panel → Users tab, open a user's edit form (or create a new viewer account).
- Under Groups, select the groups this user can access.
- Save — the user now sees only their assigned group dashboards after login.
Admin users always have access to all groups — no assignment needed.
| Capability | Admin | Viewer |
|---|---|---|
| View all servers | Yes | No — assigned groups only |
| Add / edit servers | Yes | Yes — assigned groups only |
| Delete servers | Yes | No |
| Manage groups | Yes | No |
| Manage users | Yes | No |
| Configure Omada controllers | Yes | No |
| Configure webhooks | Yes | Yes — assigned groups only |
| View audit log | Yes | No |
Each group dashboard is a Progressive Web App (PWA). Visitors on iOS or Android can tap Add to Home Screen to install the dashboard as a standalone app with a branded icon and name matching the group's display name and logo.
Each group can have its own Privacy Policy and Terms of Service text, set in the group's branding options. These are accessible at:
/dashboard/<slug>/privacy/dashboard/<slug>/terms
If no custom text is set, the pages fall back to the global APP_OWNER and APP_CONTACT_EMAIL values from the environment.