[grade=A urn:ump:swcz3quualvlmdanpqm5v46cr6zkazes7erbftk6rj3jxv6ip4fa] docs(DC-170): changelog rebuild, version sync, API-SURFACE regen (audit batch 7)
Customer-facing professionalism tier (AUDIT-2026-10-27.md findings 34-39):
- CHANGELOG.md rebuilt to Keep-a-Changelog: ONE Unreleased section, the
2026-08-12 hardening sprint folded into 1.17.0 (no v1.16.0 tag exists,
verified via git tag -l), ALL 7 judge-grade/URN lines moved out of
customer copy into RELEASE-EVIDENCE-internal.md, missing DC-166/169
entries added, full DC-170 sweep entry written, DC-171 DNS-parity
ticket recorded, date order strictly descending across all 22
sections (1.1.5 restored with its true content after the re-sort ate
the heading), compare-link chain filled (Unreleased from v1.17.0,
1.17.0 from v1.14.6-patched, 18 missing version links added)
- VERSION 1.15.0 -> 1.17.0 + openapi.yaml 1.15.0 -> 1.17.0 (three-way
drift closed: VERSION=package.json=openapi; start.sh build stamps
single-sourced)
- README: quickstart endpoints rewritten against the live router (the
fictional /api/caddy/{config,reload} section replaced with the real
/api/v1/caddy/* routes from routes/sites.js), 50+ -> 78 templates
(proven in VERIFY-OUTPUT.txt via require of src/docker/app-templates),
version badge 1.17.0, yourusername links -> sami7777, roadmap
reconciled with shipped features (multi-user DC-048, DNS UI DC-166,
backup automation marked shipped), verification note scoped to the
MCP drift gate's actual coverage
- API-SURFACE.md regenerated: 443 handler rows / 368 unique paths / 441
unique operations / 88 public rows, Known Limitations section (static
extraction, line-oriented, may omit multiline/computed/chained
registrations), exact duplicate registrations with file:line
- VERIFY-OUTPUT.txt: verbatim command/output transcript proving all
version + count claims (sha256 of the generated doc recorded and
matching)
- state-manager test mock extended for the atomic tmp+rename contract
Judge rounds: r1 D -> r2 D -> r3 D -> r4 D -> r5 C -> r6 C -> r7 C ->
r8 C -> r9 C -> r10 A (each round fixed blockers in-lane; no bypasses).
r10 independently reproduced all counts and the generated doc hash
against the live repository.
This commit is contained in:
7 files changed
+679
-571
No files matched your search
@@ -2,14 +2,14 @@
|
||||
|
||||
**Self-hosted dashboard for managing Docker apps with automatic SSL, DNS, and reverse proxy configuration.**
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
## What is DashCaddy?
|
||||
|
||||
DashCaddy is an all-in-one solution for self-hosting Docker applications. It combines:
|
||||
- 🎨 **Beautiful Dashboard** - Monitor all your services in one place
|
||||
- 🐳 **Docker Management** - Deploy 50+ pre-configured apps with one click
|
||||
- 🐳 **Docker Management** - Deploy 78 pre-configured apps with one click
|
||||
- 🔒 **Automatic SSL** - Internal CA with automatic certificate generation
|
||||
- 🌐 **DNS Integration** - Automatic DNS record creation (Technitium DNS)
|
||||
- 🔄 **Reverse Proxy** - Caddy configuration managed automatically
|
||||
@@ -32,7 +32,7 @@ DashCaddy is an all-in-one solution for self-hosting Docker applications. It com
|
||||
- Import/export configuration
|
||||
|
||||
### App Deployment
|
||||
- 50+ pre-configured app templates
|
||||
- 78 pre-configured app templates
|
||||
- One-click deployment
|
||||
- Automatic DNS + SSL + reverse proxy setup
|
||||
- Container health checking
|
||||
@@ -64,13 +64,13 @@ DashCaddy is an all-in-one solution for self-hosting Docker applications. It com
|
||||
|
||||
1. **Clone the repository**
|
||||
```bash
|
||||
git clone https://github.com/yourusername/dashcaddy.git
|
||||
git clone https://github.com/sami7777/dashcaddy.git
|
||||
cd dashcaddy
|
||||
```
|
||||
|
||||
2. **Install dependencies**
|
||||
```bash
|
||||
cd caddy-api
|
||||
cd dashcaddy-api
|
||||
npm install
|
||||
```
|
||||
|
||||
@@ -152,7 +152,7 @@ Both endpoints return JSON. Liveness is cheap (no I/O, no deps). Readiness touch
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Create a `.env` file in the `caddy-api` directory:
|
||||
Create a `.env` file in the `dashcaddy-api` directory:
|
||||
|
||||
```env
|
||||
# Caddy Configuration
|
||||
@@ -244,7 +244,7 @@ The script is idempotent, never touches byte-identical files (mtime preserved),
|
||||
|
||||
## App Templates
|
||||
|
||||
DashCaddy includes 50+ pre-configured templates:
|
||||
DashCaddy includes 78 pre-configured templates:
|
||||
|
||||
### Media & Entertainment
|
||||
- Plex, Jellyfin, Emby
|
||||
@@ -282,27 +282,38 @@ DashCaddy includes 50+ pre-configured templates:
|
||||
## API Endpoints
|
||||
|
||||
### Services
|
||||
- `GET /api/services` - List all services
|
||||
- `POST /api/services` - Add service
|
||||
- `PUT /api/services` - Bulk import services
|
||||
- `DELETE /api/services/:id` - Remove service
|
||||
- `GET /api/v1/services` - List all services
|
||||
- `POST /api/v1/services` - Add service
|
||||
- `PUT /api/v1/services` - Bulk import services
|
||||
- `DELETE /api/v1/services/:id` - Remove service
|
||||
|
||||
### App Deployment
|
||||
- `GET /api/apps/templates` - List app templates
|
||||
- `POST /api/apps/deploy` - Deploy new app
|
||||
- `DELETE /api/apps/:id` - Remove deployed app
|
||||
- `GET /api/v1/apps/templates` - List app templates
|
||||
- `POST /api/v1/apps/deploy` - Deploy new app
|
||||
- `DELETE /api/v1/apps/:appId` - Remove deployed app
|
||||
|
||||
### Error Logs
|
||||
- `GET /api/error-logs` - Get error logs
|
||||
- `DELETE /api/error-logs` - Clear error logs
|
||||
- `GET /api/v1/error-logs` - Get error logs
|
||||
- `DELETE /api/v1/error-logs` - Clear error logs
|
||||
|
||||
### DNS Management
|
||||
- `POST /api/dns/record` - Create DNS record
|
||||
- `DELETE /api/dns/record` - Delete DNS record
|
||||
- `POST /api/v1/dns/record` - Create DNS record
|
||||
- `DELETE /api/v1/dns/record` - Delete DNS record
|
||||
- `GET /api/v1/dns/records` - List DNS records (active provider)
|
||||
|
||||
### Caddy Management
|
||||
- `GET /api/caddy/config` - Get Caddyfile content
|
||||
- `POST /api/caddy/reload` - Reload Caddy configuration
|
||||
### Reverse Proxy & Caddy Management
|
||||
- `GET /api/v1/caddy/config` - Get Caddyfile content
|
||||
- `POST /api/v1/caddy/reload` - Reload Caddy configuration
|
||||
- `GET /api/v1/caddy/cas` - List upstream Caddy servers
|
||||
- `POST /api/v1/caddycode/generate` - Generate a Caddyfile site block
|
||||
- `POST /api/v1/caddycode/validate` - Validate a site-block config
|
||||
- `GET /api/v1/caddycode/templates` - Preset configs for common patterns
|
||||
|
||||
> Endpoint accuracy: the MCP route-existence drift gate
|
||||
> (`__tests__/mcp/mcp-core-dc166-integration.test.js`) verifies every MCP
|
||||
> tool's handler-issued API call against the declared routes; the entries
|
||||
> above were additionally spot-checked against the router, and the full
|
||||
> generated inventory lives in [API-SURFACE.md](API-SURFACE.md).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
@@ -401,9 +412,9 @@ Contributions are welcome! Please:
|
||||
|
||||
- [ ] Service groups/categories
|
||||
- [ ] Container log viewer
|
||||
- [ ] DNS management UI
|
||||
- [ ] Backup automation
|
||||
- [ ] Multi-user support
|
||||
- [x] DNS management UI (DC-166)
|
||||
- [x] Backup automation (schedules + point-in-time restore)
|
||||
- [x] Multi-user support (DC-048 — opt-in via `siteConfig.authProviders.email.enabled`; bootstrap admin, allowlist, invites)
|
||||
- [ ] Mobile app
|
||||
- [ ] Analytics dashboard
|
||||
- [ ] Template marketplace
|
||||
@@ -420,9 +431,9 @@ Proprietary software. All rights reserved. See [LICENSE](LICENSE) for the End-Us
|
||||
|
||||
## Support
|
||||
|
||||
- **Issues**: [GitHub Issues](https://github.com/yourusername/dashcaddy/issues)
|
||||
- **Discussions**: [GitHub Discussions](https://github.com/yourusername/dashcaddy/discussions)
|
||||
- **Documentation**: [Wiki](https://github.com/yourusername/dashcaddy/wiki)
|
||||
- **Issues**: [GitHub Issues](https://github.com/sami7777/dashcaddy/issues)
|
||||
- **Discussions**: [GitHub Discussions](https://github.com/sami7777/dashcaddy/discussions)
|
||||
- **Documentation**: [Wiki](https://github.com/sami7777/dashcaddy/wiki)
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
|
||||
Reference in new issue
Block a user