8.9 KiB
V2-Docker System Documentation
WICHTIGER HINWEIS FÜR ZUKÜNFTIGE ENTWICKLUNG
DIESE SERVICES WERDEN NICHT VERWENDET:
- ❌ Redis - NICHT BENÖTIGT für <100 Kunden
- ❌ RabbitMQ - NICHT BENÖTIGT für <100 Kunden
- ❌ Prometheus - NICHT BENÖTIGT
- ❌ Grafana - NICHT BENÖTIGT
- ❌ Alertmanager - NICHT BENÖTIGT
- ❌ Externe Monitoring-Tools - NICHT BENÖTIGT
Das System verwendet NUR:
- ✅ PostgreSQL für alle Datenspeicherung
- ✅ Integrierte Überwachung im Admin Panel
- ✅ Direkte Datenbankverbindungen ohne Cache
- ✅ Synchrone Verarbeitung ohne Message Queue
Overview
V2-Docker is a streamlined system featuring a License Server, Admin Panel, and Lead Management with integrated monitoring. This document consolidates all architecture and implementation details.
License Server Architecture
Core Principles
- Designed to avoid refactoring
- Microservices architecture
- Hardware-based license binding
- Offline grace period support (7 days)
- Version control with update enforcement
Core Functionalities
1. License Validation
- Real-time license verification
- Hardware binding (MAC address, CPU ID, system UUID)
- Version compatibility checks
- Usage limit enforcement
2. Activation Management
- Initial activation with hardware fingerprint
- Multi-activation support
- Deactivation capabilities
- Transfer between systems
3. Usage Monitoring
- Active user tracking
- Feature usage statistics
- Heartbeat monitoring (15-minute intervals)
- Historical data analysis
Microservices Architecture
Aktive Services
-
License Server (
v2_lizenzserver) - Core license validation- Vollständig implementiert
- API-Endpunkte für Aktivierung, Verifizierung, Info
- Läuft auf internem Port über Nginx
-
Admin Panel (
v2_adminpanel) - Web-basierte Verwaltung- Vollständig implementiert auf Port 80
- Customer, License, Resource Management
- Integrierte Backup-Funktionalität
- Lead Management System
Infrastructure Services
- PostgreSQL - Main database
- Redis - Caching
- RabbitMQ - Message queue
- Nginx - Reverse proxy
Note: Analytics, Admin API, and Auth services exist in code but are currently inactive.
Communication
- REST APIs für externe Kommunikation
- Redis für Caching
- RabbitMQ für asynchrone Verarbeitung (vorbereitet)
Database Schema
See v2_adminpanel/init.sql for complete schema.
Key feature: Monthly partitioned license_heartbeats table.
Security Concepts
- JWT-based authentication
- API key management
- Rate limiting (100 requests/minute)
- Hardware fingerprint validation
- Encrypted communication
Implementation Status (June 22, 2025)
Completed
- ✅ License Server mit vollständigen API-Endpunkten
- POST /api/license/activate
- POST /api/license/verify
- GET /api/license/info/{license_key}
- POST /api/license/session/start - Session-Initialisierung
- POST /api/license/session/heartbeat - Keep-alive
- POST /api/license/session/end - Session-Beendigung
- POST /api/version/check
- GET /api/version/latest
- ✅ Admin Panel mit voller Funktionalität
- Customer Management mit erweiterten Features
- License Management mit Resource Allocation
- Resource Pool Management (Domains, IPs, Telefonnummern)
- Session Management mit Live-Monitor
- Lead Management System (vollständiges CRM)
- Batch Operations für Bulk-Aktionen
- Export/Import Funktionalität
- Device Registration und Management
- API Key Management (System-wide)
- ✅ Monitoring Stack (Prometheus, Grafana, Alertmanager)
- Integriertes Monitoring Dashboard
- Vorkonfigurierte Dashboards
- Alert Rules für kritische Metriken
- ✅ Docker Services Konfiguration
- ✅ JWT/API Key Management
- ✅ Backup-System (integriert im Admin Panel)
- ✅ 2FA-Authentifizierung
- ✅ Audit Logging mit Request IDs
- ✅ Rate Limiting (konfigurierbar)
- ✅ Single-Session Enforcement (Account Forger)
- ✅ Partitionierte Datenbank für Heartbeats
Code vorhanden aber nicht aktiviert
- ⏸️ Analytics Service (auskommentiert)
- ⏸️ Admin API Service (auskommentiert)
- ⏸️ Auth Service (auskommentiert)
Geplant
- 📋 Notification Service
- 📋 Erweiterte Analytics
- 📋 Machine Learning Integration
Lead Management System
Status
Vollständig implementiert als Teil des Admin Panels unter /leads/
Update June 22, 2025 - 20:26
- Neuer Navbar-Eintrag: "Lead Management" über "Ressourcen Pool"
- Lead Management Dashboard unter
/leads/managementmit:- Übersicht Statistiken (Institutionen, Kontakte, Benutzer-Attribution)
- Aktivitätsfeed zeigt wer was hinzugefügt/bearbeitet hat
- Schnellaktionen (Institution hinzufügen, alle anzeigen, exportieren)
- Geteilte Informationsansicht zwischen rac00n und w@rh@mm3r
Architecture
- Modular Architecture: Clean separation of concerns
- Service Layer Pattern: Business logic in
leads/services.py - Repository Pattern: Data access in
leads/repositories.py - Blueprint Integration: Routes in
leads/routes.py
Data Model (implementiert)
lead_institutions
├── lead_contacts (1:n)
│ └── lead_contact_details (1:n) - Telefon/E-Mail
└── lead_notes (1:n) - Versionierte Notizen
Implementierte Features
- ✅ Institution Management (CRUD)
- ✅ Contact Person Management mit mehreren Telefon/E-Mail
- ✅ Notes mit vollständiger Versionierung
- ✅ Flexible Kontaktdetails (beliebig viele pro Person)
- ✅ Audit Trail Integration
- ✅ Service/Repository Pattern für Clean Code
- ✅ JSONB Felder für zukünftige Erweiterungen
API Endpoints
- GET /leads/ - Institutionen-Übersicht
- GET /leads/institutions - Institutionen-Liste
- POST /leads/institutions - Neue Institution
- GET /leads/institutions/{id} - Institution Details
- PUT /leads/institutions/{id} - Institution bearbeiten
- DELETE /leads/institutions/{id} - Institution löschen
- GET /leads/contacts/{id} - Kontakt Details
- POST /leads/contacts/{id}/details - Kontaktdetail hinzufügen
- PUT /leads/contacts/{id}/details/{detail_id} - Detail bearbeiten
- POST /leads/contacts/{id}/notes - Notiz hinzufügen
Admin Panel
Implementierte Features
-
Authentication & Security
- ✅ Login mit 2FA-Unterstützung
- ✅ Session Management
- ✅ Rate Limiting
- ✅ IP-Blocking bei fehlgeschlagenen Logins
- ✅ Audit Logging aller Aktionen
-
Customer Management
- ✅ CRUD-Operationen für Kunden
- ✅ Kundensuche mit Autocomplete
- ✅ Kunden-Lizenz-Übersicht
- ✅ Quick Stats pro Kunde
-
License Management
- ✅ Lizenzerstellung (Einzel und Batch)
- ✅ Lizenzbearbeitung und -löschung
- ✅ Bulk-Operationen (Aktivieren/Deaktivieren)
- ✅ Device Management mit Hardware IDs
- ✅ Resource Allocation (Domains, IPs, Telefonnummern)
- ✅ Quick Edit Funktionalität
- ✅ Session Management und Monitoring
- ✅ Lizenz-Konfiguration für Account Forger
-
Monitoring & Analytics
- ✅ Dashboard mit Live-Statistiken
- ✅ Lizenzserver-Monitoring
- ✅ Session-Überwachung mit Live-Updates
- ✅ Resource Pool Monitoring
- ✅ Integriertes Monitoring Dashboard (/monitoring)
- ✅ Prometheus/Grafana Integration
- ✅ Alert Management
-
System Administration
- ✅ Backup & Restore (manuell und geplant)
- ✅ Export-Funktionen (CSV, JSON)
- ✅ Audit Log Viewer mit Filterung
- ✅ Blocked IPs Management
- ✅ Feature Flags Konfiguration
- ✅ API Key Generation und Management
- ✅ Lizenzserver Administration
- ✅ Session-Terminierung durch Admins
Technical Stack
- Backend: Flask 3.0.3, PostgreSQL
- Frontend: Bootstrap 5.3, jQuery
- Security: bcrypt, pyotp (2FA), JWT
Deployment Configuration
Docker Services
Aktive Services
db: PostgreSQL database (Port 5432)admin-panel: Admin interface (interner Port 5000)nginx-proxy: Reverse proxy (Ports 80, 443)license-server: License server (interner Port 8443)
NICHT VERWENDETE Services (DO NOT USE)
- ❌
redis: Redis cache - NICHT BENÖTIGT für <100 Kunden - ❌
rabbitmq: Message queue - NICHT BENÖTIGT für <100 Kunden - ❌ External monitoring (Prometheus, Grafana, Alertmanager) - NICHT BENÖTIGT
- ❌
monitoring/docker-compose.monitoring.yml- NICHT VERWENDEN
WICHTIG: Das System verwendet KEINE externen Monitoring-Tools, Redis oder RabbitMQ. Die eingebaute Überwachung im Admin Panel ist ausreichend für <100 Kunden.
Environment Configuration
Required: DATABASE_URL, SECRET_KEY, JWT_SECRET NOT Required: REDIS_HOST, RABBITMQ_HOST (diese NICHT konfigurieren) See docker-compose.yaml for all environment variables.
Current Status
System is production-ready with all core features implemented:
- ✅ License management with session enforcement
- ✅ Lead management CRM
- ✅ Resource pool management
- ✅ Integrierte Überwachung (Admin Panel)
- ✅ Backup and audit systems