mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-07-27 04:11:01 +00:00
0bf061a745
* feat(settings): group sections, add ⌘K search, scope breadcrumb Restructures the Settings Hub sidebar into four labelled groups (Identity, System, Alerts, Advanced), adds a ⌘K command palette for section search, and surfaces the active scope (global vs node-scoped) in the content breadcrumb. - New `settings/registry.ts` centralises group/item metadata, tier gates, glyph assignments, visibility rules, and keyword hints consumed by both the sidebar and the command palette - Cyan 2px left rail + gradient on the active sidebar item; mono-uppercase group headers; tier chips inline for locked items - Scoped ⌘K handler via onKeyDownCapture on DialogContent so the hub no longer hijacks the global sidebar shortcut while open - ScrollArea gains an opt-in `block` prop so the Nodes management table can overflow horizontally without Radix's default `display: table` wrapper clipping action buttons - Docs reference updated with the grouped sidebar, scope breadcrumb, and ⌘K walkthrough plus refreshed screenshots * refactor(settings): drop duplicate section headers, redesign system limits, always-visible tier chips - Remove redundant section titles in every settings page; the dialog header now owns the title and description - Rework System Limits into a compact row panel with inline-edit chips (warn state, focus ring) and an ON/OFF toggle pill - Show tier chips on sidebar and command palette whether locked or unlocked, so Skipper/Admiral scope is always legible - Keep right-aligned action buttons on pages that had a title+button header (Users, Labels, Nodes, API Tokens, Registries) * fix(settings): seed NumberChip draft on edit instead of via effect ESLint rule react-hooks/set-state-in-effect flagged the sync effect that mirrored the external value into local draft state. Replace it with a startEdit handler that seeds draft from value at click time, so the button path always reads value directly and no cascading render is triggered on prop change. * fix(settings): restore heading role and clean sidebar accessible names - Wrap the settings dialog title in an h2 so screen readers and E2E locators see a heading again after the in-section headers were removed - Mark the sidebar glyph aria-hidden so the button's accessible name is just the item label (fixes anchored name matchers) - Align the MFA E2E helper with the renamed Account section heading
340 lines
12 KiB
Plaintext
340 lines
12 KiB
Plaintext
---
|
||
title: Settings Reference
|
||
description: Complete reference for every option in the Sencho Settings Hub.
|
||
---
|
||
|
||
Open the Settings Hub by clicking the **Profile** icon in the top bar and selecting **Settings**. The sidebar groups every section into four themes so related settings live together.
|
||
|
||
<Frame>
|
||
<img src="/images/settings/settings-hub-grouped.png" alt="Settings Hub with the grouped sidebar: Identity, System, Alerts, Advanced" />
|
||
</Frame>
|
||
|
||
### Sidebar groups
|
||
|
||
| Group | What it covers |
|
||
|-------|----------------|
|
||
| **Identity** | Account, License, Users, SSO, API Tokens |
|
||
| **System** (node-scoped) | System Limits, Registries, Nodes |
|
||
| **Alerts** | Notifications, Routing, Webhooks |
|
||
| **Advanced** | Labels, Security, Developer, App Store, Support, About |
|
||
|
||
Sections that require a higher license tier show a tier chip (`SKIPPER` or `ADMIRAL`) next to their name. Admin-only sections stay hidden for non-admins.
|
||
|
||
### Quick search
|
||
|
||
Click **Filter settings** at the top of the sidebar, or press `Ctrl+K` / `⌘K` while the hub is open, to open the command palette. Type any section name, keyword, or synonym (for example, `saml` finds SSO and `trivy` finds Security) and press Enter to jump to it.
|
||
|
||
<Frame>
|
||
<img src="/images/settings/settings-search.png" alt="Settings command palette filtered to webhook" />
|
||
</Frame>
|
||
|
||
### Scope breadcrumb
|
||
|
||
The content pane shows a breadcrumb such as `SETTINGS › SYSTEM › SYSTEM LIMITS`. For node-scoped sections the breadcrumb appends the active node name (for example, `LOCAL (NODE-SCOPED)`) so you always know which node you are editing.
|
||
|
||
<Frame>
|
||
<img src="/images/settings/settings-node-scope.png" alt="System Limits section showing the node-scope indicator in the breadcrumb" />
|
||
</Frame>
|
||
|
||
---
|
||
|
||
## Account
|
||
|
||
**Scope:** Global (applies to this Sencho instance, not per-node)
|
||
|
||
Change the admin account password. All three fields are required.
|
||
|
||
| Field | Description |
|
||
|-------|-------------|
|
||
| **Current Password** | Your existing password for verification |
|
||
| **New Password** | Must be at least 6 characters |
|
||
| **Confirm New Password** | Must match New Password |
|
||
|
||
Click **Update Password** to apply. The change takes effect immediately; existing sessions remain valid.
|
||
|
||
---
|
||
|
||
## License
|
||
|
||
**Scope:** Global
|
||
|
||
Manage your Sencho license and subscription from this section.
|
||
|
||
| Element | Description |
|
||
|---------|-------------|
|
||
| **Current tier** | Shows your current tier (Community, Skipper, or Admiral) with a tier badge |
|
||
| **Trial status** | If on a trial, shows remaining days |
|
||
| **Renews** | Next renewal date for active subscriptions |
|
||
| **Upgrade cards** | Dynamic plan cards with feature highlights and checkout links. Community users see Skipper and Admiral; Skipper users see Admiral only |
|
||
| **Activate** | Enter a license key to activate your plan (visible when no license is active) |
|
||
| **Manage Subscription** | Opens the Lemon Squeezy billing portal (Skipper / Admiral only) |
|
||
| **Deactivate License** | Reverts to Community features (Skipper / Admiral only) |
|
||
|
||
See [Licensing & Billing](/features/licensing) for the full walkthrough.
|
||
|
||
---
|
||
|
||
## Users
|
||
|
||
<Note>
|
||
User management requires a Sencho Skipper or Admiral license and admin role. Community supports a single admin account only.
|
||
</Note>
|
||
|
||
**Scope:** Global
|
||
|
||
Create and manage user accounts with role-based access.
|
||
|
||
| Action | Description |
|
||
|--------|-------------|
|
||
| **Create user** | Add a new account with username, password, and role |
|
||
| **Edit user** | Change an existing user's password or role |
|
||
| **Delete user** | Remove a user account (you cannot delete your own account) |
|
||
|
||
**Available roles:**
|
||
|
||
| Role | Tier | Description |
|
||
|------|------|-------------|
|
||
| **Admin** | Skipper+ | Full access to all features |
|
||
| **Viewer** | Skipper+ | Read-only access to stacks and nodes |
|
||
| **Deployer** | Admiral | Can view stacks and trigger deployments |
|
||
| **Node Admin** | Admiral | Full stack and node management, no system settings |
|
||
| **Auditor** | Admiral | Read-only plus audit log access |
|
||
|
||
See [RBAC & User Management](/features/rbac) for details on what each role can access.
|
||
|
||
---
|
||
|
||
## SSO
|
||
|
||
<Note>
|
||
SSO requires a Sencho Admiral license.
|
||
</Note>
|
||
|
||
**Scope:** Global
|
||
|
||
Configure Single Sign-On providers (LDAP/AD and OIDC) for centralized authentication. Each provider type has its own configuration card with connection fields, a test button, and an active toggle.
|
||
|
||
See [SSO](/features/sso) for the full configuration walkthrough.
|
||
|
||
---
|
||
|
||
## API Tokens
|
||
|
||
<Note>
|
||
API Tokens require a Sencho Admiral license.
|
||
</Note>
|
||
|
||
**Scope:** Global
|
||
|
||
Create and manage long-lived API tokens for external integrations and automation. Tokens can be scoped to specific permissions.
|
||
|
||
See [API Tokens](/features/api-tokens) for the full walkthrough.
|
||
|
||
---
|
||
|
||
## Registries
|
||
|
||
<Note>
|
||
Private Registries require a Sencho Admiral license.
|
||
</Note>
|
||
|
||
**Scope:** Global
|
||
|
||
Configure private Docker registries so Sencho can pull images that require authentication.
|
||
|
||
See [Private Registries](/features/private-registries) for the full walkthrough.
|
||
|
||
---
|
||
|
||
## Labels
|
||
|
||
<Note>
|
||
Stack Labels require a Sencho Skipper or Admiral license.
|
||
</Note>
|
||
|
||
**Scope:** Global
|
||
|
||
Create, edit, and delete labels used to organize and filter stacks across your fleet. Each label has a name and one of ten available colors.
|
||
|
||
See [Stack Labels](/features/stack-labels) for the full walkthrough.
|
||
|
||
---
|
||
|
||
## System Limits
|
||
|
||
**Scope:** Per-node (applies to the currently selected node)
|
||
|
||
Configure resource thresholds that trigger visual warnings on the dashboard stat cards. These are display thresholds only; Sencho does not throttle or kill containers when limits are reached. When viewing a remote node, a badge shows which node you are configuring.
|
||
|
||
| Setting | Default | Description |
|
||
|---------|---------|-------------|
|
||
| **Host CPU Alert Threshold** | 90% | CPU percentage above which the CPU card turns orange/red |
|
||
| **Host RAM Alert Threshold** | 90% | RAM percentage above which the RAM card turns orange/red |
|
||
| **Host Disk Alert Threshold** | 90% | Disk percentage above which the Disk card turns orange/red |
|
||
| **Docker Janitor Storage Threshold** | 5 GB | Alert when unused Docker data (reclaimable via prune) exceeds this size. Set to `0` to disable. |
|
||
| **Global Crash Detection** | On | Watch all containers for unexpected exits. When enabled, Sencho sends a notification whenever any managed container exits unexpectedly. |
|
||
|
||
Click **Save Limits** to apply.
|
||
|
||
---
|
||
|
||
## Notifications
|
||
|
||
**Scope:** Per-node (each node has its own notification agents; remote nodes dispatch alerts through their own channels)
|
||
|
||
Configure external destinations for alert notifications. Three agent types are available on separate tabs: **Discord**, **Slack**, and **Webhook**.
|
||
|
||
For each agent:
|
||
|
||
| Field | Description |
|
||
|-------|-------------|
|
||
| **Enable toggle** | Activates or deactivates this agent. Disabled agents receive no messages even if a URL is saved. |
|
||
| **Webhook URL** | The endpoint Sencho will POST to when an alert fires |
|
||
|
||
Click **Save** to persist changes. Click **Test** to send a test payload immediately and verify delivery.
|
||
|
||
At least one agent must be enabled for stack alerts to deliver notifications. See [Alerts & Notifications](/features/alerts-notifications) for how to create alert rules.
|
||
|
||
---
|
||
|
||
## Routing
|
||
|
||
<Note>
|
||
Notification Routing requires a Sencho Admiral license.
|
||
</Note>
|
||
|
||
**Scope:** Global
|
||
|
||
Create routing rules that direct specific alert types to specific notification channels. Rules let you send critical alerts to one channel and informational alerts to another.
|
||
|
||
See [Notification Routing](/features/notification-routing) for the full walkthrough.
|
||
|
||
---
|
||
|
||
## Webhooks
|
||
|
||
<Note>
|
||
Webhooks require a Sencho Skipper or Admiral license.
|
||
</Note>
|
||
|
||
**Scope:** Global
|
||
|
||
Create and manage HTTP webhooks that external systems (CI/CD pipelines, automation tools) can call to trigger stack actions. See [Webhooks](/features/webhooks) for the full walkthrough including authentication and CI examples.
|
||
|
||
Quick reference:
|
||
|
||
| Action | How |
|
||
|--------|-----|
|
||
| Create a webhook | Click **Create Webhook**, select a stack and action |
|
||
| Copy trigger URL | Click the copy icon on any webhook row |
|
||
| View execution history | Expand a webhook row to see recent executions |
|
||
| Delete a webhook | Click the trash icon |
|
||
|
||
---
|
||
|
||
## Developer
|
||
|
||
**Scope:** Per-node (streaming and polling settings), Global (data retention)
|
||
|
||
Advanced settings for log streaming behavior and data retention. Most users can leave these at their defaults.
|
||
|
||
### Streaming
|
||
|
||
| Setting | Default | Description |
|
||
|---------|---------|-------------|
|
||
| **Developer Mode** | Off | Enables real-time SSE streaming for [Global Observability](/features/global-observability), and activates debug diagnostics (timing, cache state, file resolution) in the server logs |
|
||
| **Standard Log Polling Rate** | 5s | Polling interval in standard mode. Options: `1s`, `3s`, `5s`, `10s`. Disabled when Developer Mode is on. |
|
||
|
||
### Data Retention
|
||
|
||
| Setting | Default | Max | Description |
|
||
|---------|---------|-----|-------------|
|
||
| **Container Metrics Retention** | 24 hrs | 8,760 (1 year) | How long to keep per-container CPU, RAM, and network history for dashboard charts |
|
||
| **Notification Log Retention** | 30 days | 365 | How long to keep alert and notification history |
|
||
| **Audit Log Retention** | 90 days | 365 | How long to keep audit trail entries (Admiral only) |
|
||
|
||
Click **Save Developer Settings** to apply.
|
||
|
||
<Note>
|
||
Lower polling rates (1s) increase backend CPU usage as Sencho polls Docker more frequently. Use only when actively debugging.
|
||
</Note>
|
||
|
||
---
|
||
|
||
## Nodes
|
||
|
||
**Scope:** Global
|
||
|
||
Manage connections to local and remote Sencho instances. This is the same interface as the [Multi-Node](/features/multi-node) feature; see that page for the full walkthrough.
|
||
|
||
Quick reference:
|
||
|
||
| Action | How |
|
||
|--------|-----|
|
||
| Add a remote node | Click **+ Add Node** |
|
||
| Generate a token for this instance | Click **Generate Token** |
|
||
| Test an existing node's connectivity | Click the wifi icon on any row |
|
||
| Edit a node | Click the pencil icon |
|
||
| Delete a node | Click the trash icon (remote nodes only) |
|
||
|
||
---
|
||
|
||
## App Store
|
||
|
||
**Scope:** Global
|
||
|
||
Configure the template source used by the App Store.
|
||
|
||
| Element | Description |
|
||
|---------|-------------|
|
||
| **Default Registry** | LinuxServer.io (used when no custom URL is set) |
|
||
| **Custom Registry URL** | A URL pointing to a Portainer v2 compatible template JSON file. Overrides the default registry. Leave empty to use the default. |
|
||
| **Reset to Default** | Clears the custom URL and reverts to LinuxServer.io |
|
||
|
||
Click **Save & Refresh** to update the URL and immediately refresh the cached template list.
|
||
|
||
See [App Store](/features/app-store#custom-template-registry) for more on custom registries.
|
||
|
||
---
|
||
|
||
## Support
|
||
|
||
**Scope:** Global
|
||
|
||
Links to help resources, with additional channels for Skipper and Admiral users.
|
||
|
||
### Resources (all tiers)
|
||
|
||
| Resource | Description |
|
||
|----------|-------------|
|
||
| **Documentation** | Opens docs.sencho.io |
|
||
| **GitHub Issues** | Report bugs and request features on GitHub |
|
||
|
||
### Paid tier support
|
||
|
||
Skipper and Admiral license holders see additional support channels:
|
||
|
||
| Channel | Description |
|
||
|---------|-------------|
|
||
| **Email Support** | Direct email support (Skipper) |
|
||
| **Priority Email Support** | Responses within 24 hours (Admiral) |
|
||
|
||
Community users see an upgrade prompt with a link to the pricing page.
|
||
|
||
---
|
||
|
||
## About
|
||
|
||
**Scope:** Global
|
||
|
||
Displays instance information at a glance.
|
||
|
||
| Field | Description |
|
||
|-------|-------------|
|
||
| **Version** | Current Sencho version (e.g. v0.38.0) |
|
||
| **Tier** | Community, Skipper, or Admiral badge |
|
||
| **License Status** | Active, trial, expired, or community |
|
||
| **Instance ID** | Truncated unique identifier for this Sencho instance |
|
||
|
||
The **Links** section contains a link to the full changelog on GitHub.
|