---
title: Stack Sidebar
description: Manage, group, pin, and bulk-act on your stacks from the primary sidebar.
---
The stack sidebar is your command center for every stack on the active node. Stacks are grouped by label, frequently used stacks can be pinned to the top, search fans out across all connected remote nodes, bulk mode lets you act on several stacks at once, and an activity ticker at the bottom surfaces ongoing operations and recent events.
## Layout
From top to bottom:
1. **Branding header** shows the Sencho logo and your build version. Hidden on mobile, where the status masthead carries the node context instead.
2. **Node switcher** selects which Sencho instance you are managing.
3. **Action row** holds **Create Stack**, the **Bulk mode** toggle (stacked-rows icon), and **Scan stacks folder** (folder-search icon). Only shown when you have permission to create stacks.
4. **Search** filters the stack list in real time. Typing into **Search stacks...** also fans out to connected remote nodes (see [Cross-node search](#cross-node-search)).
5. **Filter chips** narrow the list by status (described below).
6. **Stack list** shows your stacks organized into groups.
7. **Activity ticker** shows the highest-priority operation or event signal at any moment.
## Filter chips
Four chips sit below the search box. Each shows a live count to the right of its label, and counts above 99 render as **99+** to keep the row from overflowing.
- **All**: every stack on the node.
- **Up**: stacks that are running with nothing crashed. A stack whose only stopped container finished cleanly (an init job that exited without error) still counts as up.
- **Down**: stacks that need attention, whether fully stopped or running with at least one crashed container (the `PT` state described below).
- **Updates**: stacks with at least one image update available. The chip renders in fuchsia when the count is non-zero, matching the fuchsia update dot on stack rows, so you can spot pending updates at a glance. The Updates chip and the trailing update indicators on stack rows are controlled by the Image Update Checks [sidebar setting](/reference/settings#sidebar). When the setting is off, the chip and indicators are hidden.
Counts reflect your current search text as well as the active node: typing into **Search stacks...** narrows every chip's count to the matching stacks, not the node's full total.
Click the **−** icon on the right to collapse the chip row when you need more vertical room; it becomes a **+** icon you click to bring the chips back. The collapsed state is remembered in your browser.
## First run
When the active node has no stacks yet, the list area below the filter chips replaces the empty groups with a discovery prompt: it reads your compose directory and offers **Adopt existing files** for compose files it finds, or **New stack** and **Scan stacks folder** when there's nothing to adopt. See [Adopt existing files](/features/stack-management#adopt-existing-files) for the full compose-discovery workflow.
## Groups
Stacks are grouped by label. Groups are sorted by size (most populated first), then alphabetically. Stacks with multiple labels appear in every matching group so you always see the full fleet membership per label. Stacks without labels appear in an **Unlabeled** group at the bottom. Click a group header to collapse or expand it; the collapsed state is remembered per node.
Each label group header also carries a small kebab button for muting that label's notifications, visible to admins on nodes that support notification suppression. See [Stack Labels](/features/stack-labels#sidebar-grouping) for how grouping and label management work, and [Mute Rules](/features/alerts-notifications#mute-rules) for what the mute presets create.
## Cross-node search
When you type anything into **Search stacks...**, Sencho fans the query out to every connected remote node at the same time. Results from other nodes appear below the local list under an **Other nodes** section, separated by a dividing line.
Each reachable node shows its matching stacks with a status pill and an external-link arrow. Clicking a remote result switches the active node to that instance and opens the stack immediately.
If one or more nodes did not respond during the search, a collapsible warning row appears showing how many nodes were unreachable. Expand it to see which nodes failed and why. Nodes Sencho already shows as offline are skipped before the search starts, so they never appear in the results or in this warning; check [Fleet](/features/fleet-view) if you expected to find a stack there.
## Pinning
Right-click a stack and choose **Pin to top**. Pinned stacks sit in a dedicated **★ PINNED** group at the very top of the list. Up to 10 stacks can be pinned per node; pinning an 11th evicts the oldest and shows a confirmation toast reading **Pinned. Unpinned oldest (max 10).** Right-click a pinned stack and choose **Unpin** to remove it.
## Stack rows
Each row gives you everything you need to read the stack at a glance, in a fixed column order:
- **Status pill** on the left. Two uppercase letters in mono type, or a spinner while a lifecycle action is in flight. `UP` (green) means the stack is running with nothing crashed. `DN` (red) means the stack is stopped. `PT` (amber) means the stack is partially running: at least one container is up and at least one has crashed (exited with an error, died, or is restart-looping). Hover the `PT` pill to see the running/total container count, such as `3/5 running`. A stack whose only stopped container finished cleanly stays `UP`.
- **Stack name** in mono type, truncated with an ellipsis when the row gets tight. Rows no longer render a per-row label swatch; a stack's labels are visible from the group it's sorted into (see [Groups](#groups) above) or from the row's **Labels** submenu.
- **Trailing indicator** in its own fixed-width slot at the far right of the name area, showing the highest-priority signal present:
- Pulsing fuchsia dot: an image update is available. Hover for the "Update available" tooltip; when per-service status is known, the tooltip names the outdated service(s).
- Muted circle-alert icon: the last registry check failed (registry unreachable, missing credentials, or rate-limited). Hover to read the failure reason.
- Git branch icon: a Git source update is pending and no image update is available.
- **Hover kebab** on the right edge. On desktop, hover the row to reveal a vertical three-dot menu that opens the same actions as right-clicking. On touch viewports the kebab is always visible.
## Bulk mode
Click the **Bulk mode** icon next to **Create Stack** (or press B) to enter selection mode. A checkbox appears at the left of every row, and a sticky toolbar slides in just above the stack list:
- **Start**, **Stop**, **Restart** apply the action to every selected stack.
- **Update** pulls the latest images for every selected stack.
Click rows to toggle their selection, or press Ctrl+A (Cmd+A on macOS) to select every stack currently matching your search text and active filter chip. The toolbar header shows a running count. Click the **×** in the toolbar to clear the selection while staying in bulk mode. Click the **Bulk mode** icon again or press B to leave bulk mode, or press Esc to leave bulk mode and clear the selection in one step.
## Context menu
Right-click any stack (or open the kebab that appears on hover) for its context menu. Items are grouped by purpose:
- **Inspect**: **Alerts**, **Auto-Heal**, **Check updates**, **Open App** (only appears when the stack is running and exposes a browser-reachable port), and **Mute** (admins only, on nodes that support notification suppression). Mute opens a submenu with **Mute notifications for this stack**, **Mute deploy success noise**, **Mute monitor alerts for this stack**, and **Manage stack mute rules**; see [Mute Rules](/features/alerts-notifications#mute-rules) for what each preset creates.
- **Organize**: **Labels** opens a submenu listing every label on the node with a checkmark next to each one already assigned to this stack. Click any label to toggle it. The submenu also offers **New label** for inline creation (when you have edit permission and the node is under its label limit), **Manage labels...** to open the full label settings, and (admins only, on nodes that support notification suppression) a **Mute label…** submenu for quieting any label's notifications. See [Stack Labels](/features/stack-labels) for the full label workflow. Below the Labels entry: **Pin to top** or **Unpin**.
- **Lifecycle**: **Deploy** (when stopped), **Stop**, **Restart**, **Update** (when running), **Take down** (stops the stack and removes its containers and compose-created networks while keeping compose files on disk; opens a confirmation), and **Schedule task** (admin only, opens the Schedules view with this stack pre-selected).
- **Destructive**: **Delete** (only shown when you have permission to delete this stack).
Configuring **Auto-Heal** policies (add, toggle, delete) requires an **admin** role. **Schedule task** also requires an **admin** role.
## Keyboard shortcuts
Most shortcuts fire on the currently selected stack. The bulk mode shortcuts below are the exception and work without a selection. All shortcuts are blocked while a text input is focused or the global command palette is open.
### Lifecycle
| Shortcut | Action | Condition |
|----------|--------|-----------|
| Ctrl+Enter | Deploy | Stack is stopped |
| Ctrl+. | Stop | Stack is running |
| Ctrl+R | Restart | Stack is running |
| Ctrl+↑ | Update images | Stack is running |
| Ctrl+↓ | Take down | Stack has been deployed (opens confirmation) |
| Ctrl+Backspace | Delete | Stack exists |
On macOS, use Cmd in place of Ctrl.
### Inspect and organize
| Key | Action |
|-----|--------|
| A | Open the alerts sheet |
| H | Open the auto-heal sheet |
| U | Check for image updates |
| P | Pin or unpin the stack |
### Bulk mode
These do not require a selected stack.
| Shortcut | Action |
|----------|--------|
| B | Toggle bulk mode |
| Ctrl+A | In bulk mode, select every stack matching the current search and filter chip |
| Esc | In bulk mode, exit and clear the selection |
On macOS, use Cmd in place of Ctrl.
## Activity ticker
The ticker evaluates a priority cascade on each tick and shows the highest-priority signal available:
| Priority | Condition | Dot | Kicker |
|----------|-----------|-----|--------|
| 1 | A lifecycle operation is in flight | Brand, pulsing | `LIVE · STREAMING` |
| 2 | An unread stack error occurred in the last 24h | Red | `ALERT · VIEW LOGS →` |
| 3 | A stack event occurred in the last hour | Brand | `LIVE · VIEW STACK →` |
| 4 | An auto-update run is scheduled (and no recent event) | Amber | `AUTOMATION · OPEN SCHEDULE →` |
| 5 | The notification WebSocket is reconnecting | Amber | `LIVE · NOTIFICATIONS PAUSED` |
| 6 | No recent activity | Green | `LIVE · OPEN ACTIVITY →` |
During an active operation (priority 1), the ticker shows the action verb ("Deploying", "Restarting", etc.), the stack name in brand color, and the elapsed time. The dot only pulses during an active operation. The ticker is not clickable while an operation is in progress or while notifications are reconnecting.
Click the ticker in any other state to navigate directly to the linked view.
## Troubleshooting
Confirm the active filter chip is **All** so a status filter is not hiding the row. Clear the **Search stacks...** box in case a stale query is filtering the list. Then click the **Scan stacks folder** icon next to **Create Stack** to re-index the compose directory on disk.
Each node has a 10-stack pin limit. When you pin an 11th stack, the oldest pin is automatically evicted so the new one fits, and a toast confirms which one rolled off. Unpin a stack you no longer need before adding another, or accept that the oldest will roll off.
Most shortcuts only fire when a stack row is selected in the sidebar (one row is highlighted); click a row and try again. B, Ctrl+A, and Esc are the exception and work without a selection. Every shortcut is blocked while a text input is focused or the global command palette (Ctrl+K) is open.
Stack rows show only the status pill and name; per-row label dots were removed. To see or change a stack's labels, look at which group it's sorted into, or right-click the row (or use its kebab) and open the **Labels** submenu. See [Stack Labels](/features/stack-labels) for the full picture.
Mute (and the label group header's mute kebab) only render for admins on nodes that support notification suppression. Sign in with an admin account, or update the node if it's running a version that predates notification suppression.
Click the **+** icon to the right of the search box to bring them back. The chip row collapses to a **−** / **+** toggle, and the state is remembered in your browser, so an earlier collapse persists across reloads until you expand it again.
Scheduling requires an **admin** role. Ask an admin on this node to schedule the task for you, or sign in with an admin account.
Reading existing Auto-Heal policies is open to every operator, so the panel still opens for non-admins. Adding, enabling, disabling, or deleting policies requires the **admin** role. Sign in with an admin account, or ask an admin on this node to make the change.
Sencho tried to reach those nodes during the search but they did not respond. The node may be offline, its connection credentials may have expired, or a network change may have interrupted the link. Open the Fleet view to check each node's status, or go to Settings and test the connection from the Nodes panel.
Nodes Sencho already shows as offline are skipped before the fan-out starts, so they're excluded from both the results and the unreachable warning rather than counted as a failed attempt. Reconnect the node first, then search again.