mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-07-26 11:49:16 +00:00
ce08a593d7
* refactor(settings): split System Limits and regroup the hub System Limits had grown into a grab-bag of host alert thresholds, Docker cleanup, and mesh data-plane controls under one mislabeled section. Split it into Host Alerts, Docker & Storage, and Fleet Mesh, and split Developer into Developer Diagnostics and Data Retention. Reorganize the sidebar into ten domain groups: Personal, Access, Infrastructure, Monitoring, Notifications, Automation, Organization, Security, Operations, Help. Each section now saves only its own keys, so a concurrent edit in one section no longer clobbers another. Data Retention sends the audit-log window only on a paid plan, matching the field's existing visibility, so a Community save no longer fails on a key the operator cannot set. NumberChip moves to a shared module and the toggle reuses the existing shared component. The /settings API is unchanged. * test(settings): cover registry structure and per-section save payloads Add structural invariants for the ten-group registry (every item maps to a real group, ids are unique, the System Limits and Developer splits land in the right groups with the right gates, renamed labels and the Registries paid gate hold) and per-section payload tests asserting each split section patches only its own keys, including the Community path where Data Retention omits the paid audit-log key. * docs(settings): document the regrouped settings hub Rewrite the settings reference for the ten-group layout, replace the System Limits page with Host Alerts, Docker & Storage, and Fleet Mesh, and document the prune-on-update, reclaimable-space banner, and mesh auto-recreate settings that were previously undocumented. Update the Settings navigation breadcrumbs across the feature docs and refresh the affected screenshots. * fix(settings): show Access sections as instance-global, not operator-scoped License, Users, SSO, and API Tokens are instance-global settings but the masthead scope label rendered them as operator-scoped because it keyed off the old Identity group. Only Personal sections (account, appearance) are operator/browser-scoped now; everything else reads as global. Also add a compile-time exhaustiveness guard to the section switch so a future SectionId added without a matching case fails the build instead of silently rendering a blank panel. * docs(settings): remap remaining settings breadcrumbs to the new groups Update the navigation breadcrumbs that still pointed at the removed Identity, Alerts, and Advanced groups: API Tokens and Users now sit under Access, Webhooks under Automation, Labels under Organization, App Store under Infrastructure, Appearance under Personal, and scan policies under Security > Vulnerability Scanning. Correct the settings reference scope note so Access reads as global. * docs(settings): remap renamed-section breadcrumbs across feature docs Sweep every feature, operations, getting-started, and reference page for navigation paths that still named the renamed settings sections, and point them at the current ones: Security becomes Security > Vulnerability Scanning, Notifications becomes Notifications > Channels, Routing becomes Notifications > Notification Routing, and Developer becomes Operations > Developer Diagnostics (with its retention windows under Operations > Data Retention). App Store moves under Infrastructure and the four-group overview in the getting-started intro is rewritten to the ten groups. Separators each page already used are preserved.
110 lines
8.3 KiB
Plaintext
110 lines
8.3 KiB
Plaintext
---
|
|
title: Introduction
|
|
description: The self-hosted Docker Compose control plane for modern homelabs and fleet infrastructure.
|
|
---
|
|
|
|
Sencho gives operators one browser workspace for the Docker Compose projects running on a single host or across a fleet. Use it to deploy stacks, edit configuration, watch health, clean up resources, and coordinate remote operations without dropping into SSH for every change.
|
|
|
|
A Sencho install can manage its local Docker host directly. It can also manage remote Sencho nodes through direct proxy connections or through the Pilot Agent for environments behind CG-NAT, firewalls, or networks where inbound ports are not available. Remote management does not require SSH access or an exposed Docker TCP socket.
|
|
|
|
<Frame>
|
|
<img src="/images/introduction/home-overview.png" alt="Sencho Home view with the health masthead, resource gauges, stack health table, Configuration Status, Fleet Heartbeat, and Recent Alerts" />
|
|
</Frame>
|
|
|
|
## Core concepts
|
|
|
|
These are the main terms you will see across the app and docs:
|
|
|
|
- **Stack**: A Docker Compose project discovered under `COMPOSE_DIR`. A stack usually has a `compose.yaml` file, optional `.env` files, and any supporting files stored beside it.
|
|
- **Node**: A Sencho instance managing one Docker host. The instance you are signed into is the local node; added hosts appear as remote nodes.
|
|
- **Fleet**: The set of nodes managed from one Sencho control instance. Fleet views summarize health, updates, snapshots, actions, secrets, and placement state across nodes.
|
|
- **Resource**: A Docker image, volume, network, or unmanaged container. Sencho classifies resources as managed, external, system, unused, or protected so cleanup decisions are visible.
|
|
- **Blueprint**: A fleet deployment model for keeping a compose template assigned to matching nodes.
|
|
- **Pilot Agent**: An outbound connector for remote nodes that cannot accept inbound traffic.
|
|
- **Mesh**: Cross-node container networking for fleets that need stable service-to-service hostnames.
|
|
|
|
## What you see after sign-in
|
|
|
|
The **Home** view is the default landing page. It is designed for a fast operational read before you touch a stack.
|
|
|
|
- The status masthead reports **Healthy**, **Degraded**, or **Critical**, names the active node, shows the node count, and lists the signals that need attention.
|
|
- The resource gauge strip tracks **CPU**, **Memory**, **Disk**, and **Network** with sparklines and threshold coloring.
|
|
- **Stack health** lists the active node's stacks by state and load, with uptime, CPU, memory, and a 10-minute CPU sparkline per stack.
|
|
- **Configuration Status** summarizes notifications, automation, security, backups, thresholds, and crash detection. Rows link to the Settings section that controls each item.
|
|
- The activity panel shows **Fleet Heartbeat** when remote nodes exist, or **Stack Restarts (7d)** on a local-only install.
|
|
- **Recent Alerts** shows the latest notification feed and includes **Clear All Notifications** when there is anything to clear.
|
|
|
|
The top navigation includes **Home**, **Fleet**, **Resources**, **App Store**, and **Logs** on the standard dashboard surface. Depending on license, role, and node context, it can also include **Auto-Update**, **Schedules**, **Console**, and **Audit**.
|
|
|
|
## Stack workspace
|
|
|
|
The left sidebar is the main stack list. Use **Search stacks...** to filter by name, then combine it with the **All**, **Up**, **Down**, and **Updates** chips. The action row contains **Create Stack**, a bulk-mode toggle, and **Scan stacks folder** for importing Compose projects added outside Sencho.
|
|
|
|
Stacks can be pinned and grouped by label. Each row carries a compact status marker, update indicators, Git source state, and a context menu for common lifecycle and organization actions.
|
|
|
|
<Frame>
|
|
<img src="/images/introduction/stack-workspace.png" alt="Sencho stack workspace with the stack identity header, action buttons, container health rows, logs, and Anatomy panel" />
|
|
</Frame>
|
|
|
|
Opening a stack gives you the day-to-day workspace:
|
|
|
|
- The identity header shows the node, stack name, runtime state, primary image, digest, and main action buttons.
|
|
- Running stacks expose **Restart**, **Stop**, and **Update**; stopped stacks expose **Start** and **Update**. The overflow menu holds less frequent actions such as rollback, config scan, and delete.
|
|
- Container rows show health, uptime, published ports, live CPU and memory, network activity, logs, and service actions.
|
|
- The logs panel can run in **Structured** mode or **Raw terminal** mode.
|
|
- The right panel switches between **Anatomy** and **Activity**, with **Files** and **Edit** controls for browsing stack files and editing compose or env content.
|
|
|
|
## Fleet operations
|
|
|
|
The **Fleet** view is the multi-node command center. The masthead summarizes online nodes, critical nodes, aggregate CPU and memory, container counts, and sync freshness.
|
|
|
|
<Frame>
|
|
<img src="/images/introduction/fleet-overview.png" alt="Sencho Fleet view with the masthead, tabs, toolbar, grid and topology controls, and node cards" />
|
|
</Frame>
|
|
|
|
The Fleet toolbar includes **Check Updates**, **Refresh**, and **Add node** for admins. The **Overview** tab supports search, sort, status filters, label filters, and a Grid or Topology view. Node cards show online state, resource use, container counts, version state, update actions, and direct drill-down into stacks on that node.
|
|
|
|
Fleet also provides dedicated tabs for snapshots, node status, blueprint deployments, traffic management, federation, fleet actions, and secrets. Some fleet features require Admiral. See [Licensing](/features/licensing) for the full tier breakdown.
|
|
|
|
## Resources, templates, and logs
|
|
|
|
The **Resources** view shows what Docker is using on the active node. It starts with reclaimable storage, a Docker Disk Footprint treemap, and **Quick Clean** actions. The tabs below split resources into **images**, **volumes**, **networks**, and **Unmanaged** containers. Filters separate **All**, **Managed**, and **External** resources, and protected Sencho resources are marked so they are not removed accidentally.
|
|
|
|
<Frame>
|
|
<img src="/images/introduction/resources-overview.png" alt="Sencho Resources view with reclaimable storage, Docker Disk Footprint, Quick Clean, and resource tabs" />
|
|
</Frame>
|
|
|
|
The **App Store** lets you search templates, filter by category, open a deploy sheet, adjust essentials, customize advanced ports, volumes, and environment variables, and deploy a stack with live progress feedback.
|
|
|
|
The **Logs** view aggregates logs across stacks on the active node. It includes a live masthead, event counters, search, stack filters, stream filters, level filters, pause and resume controls, and download support for the filtered buffer.
|
|
|
|
## Settings and security
|
|
|
|
Settings are grouped by **Personal**, **Access**, **Infrastructure**, **Monitoring**, **Notifications**, **Automation**, **Organization**, **Security**, **Operations**, and **Help**. Some sections are global to the control instance, while others are scoped to the active node.
|
|
|
|
Use Settings to manage account security, licensing, users, SSO, API tokens, host thresholds, node registration, alert delivery, security scanning, template registry settings, diagnostics, and build metadata. The [Configuration](/getting-started/configuration) guide covers the host and environment settings that matter before first deploy.
|
|
|
|
## Typical workflow
|
|
|
|
1. Deploy Sencho with access to your compose directory and Docker host.
|
|
2. Complete first boot and sign in as the first admin.
|
|
3. Confirm the Home view sees your active node, resource gauges, and stack list.
|
|
4. Create a stack from the sidebar, from Git, from a Docker Run command, or from the App Store.
|
|
5. Open the stack workspace to inspect containers, logs, anatomy, files, and compose content.
|
|
6. Add remote nodes from **Fleet** or **Settings · Infrastructure · Nodes** when you are ready to manage more hosts.
|
|
7. Use the rest of the top navigation as your operational needs grow.
|
|
|
|
## Next steps
|
|
|
|
<CardGroup cols={3}>
|
|
<Card title="Quickstart" icon="rocket" href="/getting-started/quickstart">
|
|
Deploy Sencho, complete first boot, and open the dashboard.
|
|
</Card>
|
|
<Card title="Configuration" icon="sliders" href="/getting-started/configuration">
|
|
Configure environment variables, storage paths, and host settings.
|
|
</Card>
|
|
<Card title="Stack Management" icon="layer-group" href="/features/stack-management">
|
|
Create, deploy, edit, inspect, update, and remove Compose stacks.
|
|
</Card>
|
|
</CardGroup>
|