Skip to content

Commit e29b25e

Browse files
docs: add Docker Compose quickstart to getting-started guide
1 parent 94b8ca5 commit e29b25e

1 file changed

Lines changed: 35 additions & 3 deletions

File tree

docs/getting-started.md

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,45 @@ This guide walks you through installing Sentinel Control Plane, creating your fi
44

55
## Prerequisites
66

7+
**Docker Compose** (Option A): Only [Docker](https://docs.docker.com/get-docker/) is required — all dependencies are included.
8+
9+
**Local development** (Option B):
710
- **Elixir** 1.16+ and **Erlang/OTP** 26+ (managed via [mise](https://mise.jdx.dev/))
8-
- **PostgreSQL** 15+ (production) or SQLite (development — zero configuration)
9-
- **S3-compatible storage** — MinIO for local development, AWS S3 for production
11+
- **Docker** — for MinIO (bundle storage)
1012
- **Sentinel CLI** — the `sentinel` binary for configuration validation and compilation
1113

1214
## Installation
1315

16+
### Option A: Docker Compose (Recommended)
17+
18+
The fastest way to get running. This starts the control plane, PostgreSQL, and MinIO (S3-compatible storage) with a single command:
19+
20+
```bash
21+
git clone https://github.com/raskell-io/sentinel-control-plane.git
22+
cd sentinel-control-plane
23+
docker compose up
24+
```
25+
26+
This will:
27+
1. Build the control plane from the Dockerfile
28+
2. Start PostgreSQL 17 and MinIO
29+
3. Create the `sentinel-bundles` S3 bucket automatically
30+
4. Run database migrations on first startup
31+
5. Serve the control plane at `http://localhost:4000`
32+
33+
MinIO console is available at `http://localhost:9001` (credentials: `minioadmin` / `minioadmin`).
34+
35+
To stop and remove volumes:
36+
37+
```bash
38+
docker compose down -v
39+
```
40+
41+
### Option B: Local Development
42+
43+
For development with hot-reloading and SQLite (no external databases needed):
44+
1445
```bash
15-
# Clone the repository
1646
git clone https://github.com/raskell-io/sentinel-control-plane.git
1747
cd sentinel-control-plane
1848

@@ -24,6 +54,8 @@ mise run setup
2454
mise run dev
2555
```
2656

57+
This uses SQLite (zero configuration) and starts MinIO via `docker-compose.dev.yml` for bundle storage.
58+
2759
The control plane starts at `http://localhost:4000`.
2860

2961
## Creating Your First User

0 commit comments

Comments
 (0)