Self-hosted Dashboard zur Verwaltung von Web-Projekten auf einem einzelnen Server.
Important
Dieses Repository allein ist nicht lauffähig. Der Server muss zuerst mit dem install.sh Script provisioniert werden (Debian 12+ / Ubuntu 22.04+). Ohne die damit installierten Services (nginx, MariaDB, Certbot, PM2, Docker, etc.) funktioniert das Dashboard nicht.
- Projekt-Deployment — Git-Push zu Gitea löst automatischen Build + Deploy aus
- Framework-Installation — WordPress, TYPO3, Redaxo, Contao, Laravel, Next.js, Express mit einem Klick
- Domain & SSL — Automatische nginx-Config, DNS-Check, Let's Encrypt SSL mit Retry
- Monitoring — PageSpeed-Scores, Server-Systeminfo, Backup-Status
- E-Mail — Domain-Setup, DKIM, Accounts, Aliases, Queue-Monitoring
- Sicherheit — Passkeys (WebAuthn), TOTP 2FA, Rate Limiting
Git Push → Gitea → Webhook:9000 (HMAC-SHA256)
→ Dashboard API:3005
→ clone/pull → install → build → nginx → SSL → PM2
Tech Stack
| Komponente | Technologie |
|---|---|
| Frontend | Next.js 14 (Pages Router), React 18, Tailwind CSS |
| Auth | Passkeys + TOTP 2FA |
| Daten | JSON-Dateien (kein SQL) |
| Server | nginx, PM2, systemd |
| Package Manager | Bun |
| Containers | Gitea, n8n, Umami, Nextcloud (Docker) |
| DB | MariaDB (nur für WordPress/Nextcloud) |
API Endpoints (Auszug)
| Endpoint | Funktion |
|---|---|
POST /api/projects/[id]/deploy |
Deployment starten |
GET /api/projects |
Alle Projekte auflisten |
GET /api/system-info |
Server-Status |
GET /api/summary |
n8n Integration |
GET /api/alerts |
n8n Alerts |
45+ Endpoints für Projekt-, Domain-, E-Mail- und System-Verwaltung.
dashboard/
├── pages/api/ # 45+ REST API Endpoints
├── lib/
│ ├── deploy.js # Deploy-Logik + nginx-Config
│ ├── install/ # Framework-Installer (WP, TYPO3, ...)
│ ├── auth.js # Passkeys + 2FA
│ └── sections/ # AI Content Section Registry
├── components/ # React UI Components
└── data/ # JSON Storage (projects, config, logs)
Built for managing multiple web projects on a single Debian server.