Skip to content

Multi Tenant Groups

X4Applegate edited this page Apr 14, 2026 · 1 revision

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.


How Groups Work

  • 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

Creating a Group

  1. Log in as an admin and go to the admin panel.
  2. Click the Groups tab.
  3. Click Add Group.
  4. Fill in the slug, display name, and any branding options (see below).
  5. Save — the dashboard is immediately accessible at /dashboard/<slug>.

Branding Options

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

Custom Domain Support

Each group can be served at its own domain (e.g. status.acmecorp.com) instead of the default path-based URL.

Setup:

  1. In the group's settings, set Custom Domain to the desired hostname (e.g. status.acmecorp.com).
  2. Point the domain's DNS to your server.
  3. 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.


Assigning Servers to Groups

  1. In the admin panel → Servers tab, open a server's edit form.
  2. Under Groups, select one or more groups to assign this server to.
  3. 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.


Assigning Users to Groups

Viewer users must be assigned to groups to see any dashboards.

  1. In the admin panel → Users tab, open a user's edit form (or create a new viewer account).
  2. Under Groups, select the groups this user can access.
  3. Save — the user now sees only their assigned group dashboards after login.

Admin users always have access to all groups — no assignment needed.


Role Summary

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

PWA / Home Screen Install

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.


Per-Group Legal Pages

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.

Clone this wiki locally