mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-08-08 01:43:55 +00:00
Merge pull request #63 from AnsoCode/feature/docs-pipeline
feat: automated docs pipeline
This commit is contained in:
@@ -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/develop'
|
||||
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 develop@${{ github.sha }}" || echo "No changes to commit"
|
||||
git push
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user