---
title: Quickstart
description: Get Sencho running in under five minutes.
---
This walks you from a clean Docker host to a working Sencho cockpit. Five minutes if your Compose directory is already in the right place, ten if you need to lay it out first.
## Prerequisites
- Docker and Docker Compose installed on the host.
- A directory where your Compose projects live (for example `/opt/compose`). Each subdirectory inside becomes one stack in Sencho.
## Run with Docker Compose
Drop this into a `docker-compose.yml` next to your Compose tree (or anywhere convenient) and bring it up:
```yaml
services:
sencho:
image: saelix/sencho:latest
container_name: sencho
restart: unless-stopped
ports:
- "1852:1852"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /opt/compose:/opt/compose # 1:1 path rule, see below
- sencho_data:/app/data
environment:
- COMPOSE_DIR=/opt/compose
volumes:
sencho_data:
```
```bash
docker compose up -d
```
```bash
docker run -d \
--name sencho \
--restart unless-stopped \
-p 1852:1852 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/compose:/opt/compose \
-v sencho_data:/app/data \
-e COMPOSE_DIR=/opt/compose \
saelix/sencho:latest
```
Sencho is mirrored on GitHub Container Registry at `ghcr.io/studio-saelix/sencho:latest` with the same tags and digests as Docker Hub. Pull from whichever registry your environment prefers.
`JWT_SECRET` is generated on first boot and persisted to the database. You do not need to provide one.
## The 1:1 path rule
The Compose directory must be mounted at the **same path** inside and outside the container. The example above mounts `/opt/compose` to `/opt/compose`, which is correct. If your stacks live somewhere else, adjust both sides of the mount to match.
This is the most common source of deployment problems. If the host and container paths differ, every relative volume in your Compose files will resolve to the wrong location once Sencho asks Docker to bring a stack up. See the [Configuration guide](/getting-started/configuration#compose-directory-the-11-path-rule) for the full explanation.
## First boot
Open `http://localhost:1852` in a browser. On a fresh install you land on the **Cold start** card, where Sencho asks you to create the first admin account.
Pick a username (the placeholder shows `admin`), choose a password, confirm it, and click **Initialize console**. The strength indicator under the password field expects at least eight characters.
The Cold start card only appears the first time you open Sencho. Once the admin account exists, every subsequent visit goes to the regular sign-in screen.
## After signing in
You land on the dashboard. A status bar across the top tells you whether the fleet is healthy, the gauge strip below it shows CPU, memory, disk, and network at a glance, and the **Stack health** table sorts your stacks by load.
The top nav (HOME, FLEET, RESOURCES, APP STORE, LOGS, AUTO-UPDATE, CONSOLE, AUDIT, SCHEDULES) is your map of the cockpit. The sidebar on the left lists every stack Sencho discovered under `COMPOSE_DIR`; on a fresh install it is empty until you create one.
Click **Create Stack** in the sidebar to deploy your first stack, or open **App Store** in the top nav for a one-click template.
## Where to next
Environment variables, volume mounts, reverse proxy, and the 1:1 path rule in detail.
Deploy, edit, restart, update, and roll back stacks from the cockpit.
Add a remote Sencho instance and manage it from the same console.
Browse 190+ pre-configured templates and deploy in one click.