feat: add automated docs pipeline and scaffold /docs folder

- Add sync-docs CI job: runs on push to main, copies /docs into sencho-docs repo via DOCS_REPO_TOKEN
- Scaffold /docs with mint.json, getting-started/introduction.mdx, getting-started/quickstart.mdx, features/overview.mdx
- Update CHANGELOG
This commit is contained in:
SaelixCode
2026-03-22 21:08:16 -04:00
parent c36ee93416
commit 9496b14f72
6 changed files with 141 additions and 0 deletions
+28
View File
@@ -160,3 +160,31 @@ jobs:
e2e/report/
test-results/
retention-days: 7
sync-docs:
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Checkout Sencho repo
uses: actions/checkout@v4
with:
path: sencho
- name: Checkout sencho-docs repo
uses: actions/checkout@v4
with:
repository: AnsoCode/sencho-docs
token: ${{ secrets.DOCS_REPO_TOKEN }}
path: sencho-docs
- name: Copy /docs into sencho-docs root
run: rsync -av --delete sencho/docs/ sencho-docs/
- name: Commit and push to sencho-docs
working-directory: sencho-docs
run: |
git config user.email "docs-bot@sencho.io"
git config user.name "Sencho Docs Bot"
git add -A
git commit -m "docs: sync from main@${{ github.sha }}" || echo "No changes to commit"
git push
+3
View File
@@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Added
- feat: automated documentation pipeline with Mintlify sync
### Fixed
- **COOP header console warning on HTTP deployments:** Helmet sends `Cross-Origin-Opener-Policy: same-origin` by default, which browsers silently ignore over HTTP but log as a console error. Disabled via `crossOriginOpenerPolicy: false` — same rationale as the existing HSTS and COEP disables.
- **Inline script CSP violation from Vite module-preload polyfill:** Vite's production build injects a small inline `<script>` for the module-preload polyfill that was blocked by `script-src 'self'`. Disabled via `build.modulePreload.polyfill: false` in `vite.config.ts` — all modern browsers support `<link rel="modulepreload">` natively.
+32
View File
@@ -0,0 +1,32 @@
---
title: Features Overview
description: A high-level tour of everything Sencho can do.
---
## Stack management
Deploy, start, stop, restart, and remove Docker Compose stacks through a point-and-click interface. Edit `docker-compose.yml` files directly in the built-in Monaco editor.
## Multi-node support
Add remote Sencho instances as nodes. All dashboard operations — stack management, logs, stats — work identically whether you're targeting your local machine or a server on the other side of the world.
## Real-time logs & stats
Stream container logs and resource metrics (CPU, memory, network I/O) live in the browser via WebSocket connections.
## Resources hub
View and manage all Docker images, volumes, and networks. Resources are classified as:
| Label | Meaning |
|-------|---------|
| **Managed** | Owned by a Sencho stack |
| **External** | Part of another Compose project |
| **Unused / System** | Reclaimable or Docker-internal |
Run scoped prune operations to clean up Sencho-managed resources only, or target all Docker resources when needed.
## Notifications & alerts
Configure threshold-based alerts for CPU and memory usage. Notifications surface in the dashboard and can be dismissed or cleared in bulk.
+16
View File
@@ -0,0 +1,16 @@
---
title: Introduction
description: What Sencho is and why you might want it.
---
Sencho is a self-hosted Docker Compose management dashboard. It gives you a clean web UI to deploy, manage, and monitor your Docker Compose stacks — locally or across multiple remote servers — without touching a terminal.
## Key concepts
- **Stacks** — a Docker Compose project living in your `COMPOSE_DIR`. Sencho treats each subdirectory as a stack.
- **Nodes** — a Sencho instance. Your local machine is always the default node. Add remote nodes by pointing Sencho at another Sencho instance's API URL.
- **Resources** — images, volumes, and networks that belong to your stacks (managed) or exist outside them (external/unused).
<Note>
Sencho never accesses remote servers directly via SSH or Docker TCP. Remote management works by proxying API requests to another running Sencho instance.
</Note>
+33
View File
@@ -0,0 +1,33 @@
---
title: Quickstart
description: Get Sencho running in under five minutes.
---
## Prerequisites
- Docker and Docker Compose installed on the host
- A directory where your Compose projects live (e.g. `/opt/compose`)
## Run with Docker
```bash
docker run -d \
--name sencho \
-p 3000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/compose:/app/compose \
-v sencho_data:/app/data \
-e JWT_SECRET=change-me \
ghcr.io/ansоcode/sencho:latest
```
Open `http://localhost:3000` in your browser. On first boot you'll be prompted to create an admin account.
<Note>
Replace `/opt/compose` with the path to your Compose projects directory. Every subdirectory inside it becomes a stack in Sencho.
</Note>
## Next steps
- [Add a remote node](/features/overview) to manage another server from the same dashboard
- Browse your stacks, start/stop services, and tail logs from the dashboard
+29
View File
@@ -0,0 +1,29 @@
{
"$schema": "https://mintlify.com/schema.json",
"name": "Sencho",
"logo": {
"light": "",
"dark": ""
},
"favicon": "",
"colors": {
"primary": "#0F172A",
"light": "#3B82F6",
"dark": "#0F172A"
},
"navigation": [
{
"group": "Getting Started",
"pages": [
"getting-started/introduction",
"getting-started/quickstart"
]
},
{
"group": "Features",
"pages": [
"features/overview"
]
}
]
}