Ein Monorepo-Projekt zur Γberwachung von bis zu 3 n8n-Instanzen (Community Edition).
- Backend: Spring Boot (Java 17) - API-Fassade zu Agency Core
- Frontend: Next.js 14 mit TypeScript, Tailwind CSS und TanStack Query
- Database: PostgreSQL 16 (Standard) oder H2 (Dev)
- Authentication: JWT-basiert mit Spring Security
- Build-System: Maven (Monorepo mit Root-POM)
- Deployment: Docker Compose
- Core API: Agency Core API (Port 8081) mit Swagger/OpenAPI Dokumentation
- β Γbersicht ΓΌber bis zu 3 n8n-Instanzen
- β Status-Monitoring (online/offline)
- β Workflow-Γbersicht (read-only)
- β FehlerΓΌbersicht (WORKFLOW_ERROR Events)
- β E-Mail-Alert-Einstellungen
- β Performance-Metriken (Basis)
- Java 17+
- Maven 3.9+
- Docker & Docker Compose (fΓΌr PostgreSQL)
- Node.js 20+ (optional, wird automatisch installiert)
# Windows PowerShell
.\setup-postgres.ps1Das Script:
- Startet PostgreSQL in Docker
- Kompiliert Backend
- Installiert Frontend Dependencies
Dann manuell starten:
# Terminal 1: Backend
cd backend
mvn spring-boot:run
# Terminal 2: Frontend
cd frontend
npm run devLogin: admin / admin123
URL: http://localhost:3000
# Alle Services starten (PostgreSQL + Backend + Frontend)
docker-compose up -d
# Logs anschauen
docker-compose logs -f# Backend mit H2-Datenbank starten
cd backend
mvn spring-boot:run -Dspring.profiles.active=dev
# Frontend starten
cd frontend
npm install
npm run devH2 Console: http://localhost:8080/h2-console
JDBC URL: jdbc:h2:file:./data/n8n-manager-dev
cd frontend
npm install
npm run devFrontend lΓ€uft auf: http://localhost:3000
docker build -t n8n-instance-manager .docker run -p 8080:8080 -p 3000:3000 \
-e CORE_BASE_URL=https://core-api.example.com \
-e CORE_API_TOKEN=your-token \
n8n-instance-managern8n-instance-manager/
βββ backend/ # Spring Boot Backend
β βββ src/main/java/
β β βββ de/dgtlschmd/n8n/
β β βββ alerts/ # Alert Settings
β β βββ config/ # Configuration
β β βββ dto/ # Data Transfer Objects
β β βββ instance/ # Instance Domain
β β βββ service/ # CoreApiClient
β βββ pom.xml
βββ frontend/ # Next.js Frontend
β βββ src/
β β βββ app/ # Next.js App Router
β β β βββ instances/[id]/ # Instanz-Detail
β β β βββ settings/alerts/ # Alert-Einstellungen
β β βββ lib/
β β βββ api/ # API Client
β β βββ types/ # TypeScript Types
β β βββ utils/ # Utility Functions
β βββ pom.xml
βββ Dockerfile # Multi-Stage Docker Build
βββ pom.xml # Root POM (Monorepo)
POST /api/auth/login- Login (JWT Token)POST /api/auth/register- RegistrierungGET /api/auth/me- Aktueller User
GET /api/instances- Liste aller InstanzenPOST /api/instances- Neue Instanz erstellen (max. 3)GET /api/instances/{id}- Instanz-DetailsGET /api/instances/{id}/workflows- Workflows einer InstanzGET /api/instances/{id}/events- Events/Fehler einer InstanzGET /api/instances/{id}/metrics- Metriken einer Instanz
GET /api/alerts/settings- Alert-Einstellungen abrufenPUT /api/alerts/settings- Alert-Einstellungen speichernPUT /api/alerts/settings- Alert-Einstellungen aktualisieren
GET /actuator/health- Backend Health Check
# Nur PostgreSQL starten
docker-compose -f docker-compose.postgres.yml up -d
# Verbinden mit psql
docker exec -it n8n-manager-postgres psql -U n8n_user -d n8n_manager
# Backup erstellen
docker exec n8n-manager-postgres pg_dump -U n8n_user n8n_manager > backup.sql
# Backup wiederherstellen
docker exec -i n8n-manager-postgres psql -U n8n_user -d n8n_manager < backup.sqlCredentials:
- Host:
localhost:5432 - Database:
n8n_manager - User:
n8n_user - Password:
n8n_secure_password
# Backend mit Dev-Profil starten
mvn spring-boot:run -Dspring.profiles.active=devH2 Console: http://localhost:8080/h2-console
JDBC URL: jdbc:h2:file:./data/n8n-manager-dev
User: sa / Password: password
Daten werden in ./data/ gespeichert und bleiben erhalten.
π Detaillierte PostgreSQL-Dokumentation: docs/POSTGRESQL_SETUP.md
cd backend
mvn spring-boot:runcd frontend
npm run devmvn test- Next.js 14 - React Framework mit App Router
- TypeScript - Type Safety
- Tailwind CSS - Utility-First CSS
- TanStack Query - Server State Management
- date-fns - Datum-Formatierung
Das Projekt nutzt ein Maven Monorepo:
# Alles bauen
mvn clean package
# Backend JAR: backend/target/backend-1.0.0-SNAPSHOT.jar
# Frontend Build: frontend/.next/CORE_BASE_URL- URL der Agency Core API (Standard: http://localhost:8081)CORE_API_TOKEN- API Key fΓΌr Core (Standard: dev-apikey-123)CORE_TENANT_ID- Tenant-ID fΓΌr Multi-Tenancy (Standard: 123e4567-e89b-12d3-a456-426614174000)SERVER_PORT- Port des Backends (Standard: 8080)
NEXT_PUBLIC_BACKEND_BASE_URL- Backend URL (Standard: /api via Proxy)
Das Projekt ist so konzipiert, dass es einfach zur Pro-Version erweitert werden kann:
- β¨ Mehr als 3 Instanzen
- β¨ Team-Features
- β¨ Erweiterte Analytics
- β¨ Credentials-Monitoring
- β¨ Slack/Telegram Alerts
- β¨ Custom Dashboards
Weitere Dokumentation finden Sie im docs/ Ordner:
- Quick Start Guide - Schnellstart in 3 Schritten
- Agency Core Integration - Integration mit Agency Core API
- Setup Complete - VollstΓ€ndige Setup-Dokumentation
- Build Status - Build-Metriken und Status
- Status - Original Projekt-Status
Dieses Projekt ist Teil des n8n Instance Manager Systems.
FΓΌr Fragen und Support kontaktieren Sie das Entwicklungsteam.