Dateien
Hetzner-Backup/SYSTEM_DOCUMENTATION.md
2025-06-19 17:52:21 +02:00

5.0 KiB

V2-Docker System Documentation

Overview

V2-Docker is a comprehensive system featuring a License Server, Admin Panel, Lead Management, and Monitoring Stack. 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

Services

  1. License Service - Core license validation
  2. Analytics Service - Usage statistics and reporting
  3. Admin API Service - Administrative operations
  4. Notification Service - Email/webhook notifications
  5. Backup Service - Automated backups

Communication

  • REST APIs for external communication
  • Message queuing for internal communication
  • Event-driven architecture for real-time updates

Database Schema

Core Tables

  • licenses - License definitions
  • license_activations - Active installations
  • license_heartbeats - Usage tracking (partitioned monthly)
  • license_usage_stats - Aggregated statistics
  • license_features - Feature flags
  • license_limits - Usage limits

Partitioning Strategy

  • Monthly partitions for license_heartbeats
  • Automatic partition creation
  • 90-day retention policy

Security Concepts

  • JWT-based authentication
  • API key management
  • Rate limiting (100 requests/minute)
  • Hardware fingerprint validation
  • Encrypted communication

Implementation Status (June 19, 2025)

Completed

  • Basic license server functionality
  • Admin Panel integration
  • Monitoring dashboard
  • Docker services configuration
  • JWT secret management
  • Basic API endpoints

In Progress

  • Analytics service
  • Advanced monitoring
  • Backup automation
  • Performance optimization

Lead Management System

Architecture

  • Modular Architecture: Clean separation of concerns
  • Service Layer Pattern: Business logic isolation
  • Repository Pattern: Data access abstraction
  • RESTful API Design: Standard HTTP methods

Data Model

  • Institutions: Core entity for organizations
  • Contact Persons: Multiple contacts per institution
  • Notes System: Versioned notes with timestamps
  • Future-proof Design: JSONB fields for extensibility

Features

  1. Institution management (CRUD operations)
  2. Contact person management
  3. Advanced search and filtering
  4. Export functionality
  5. Activity tracking
  6. Note versioning

Monitoring Stack

Components

  • Prometheus: Metrics collection
  • Grafana: Visualization (port 3001)
  • Alertmanager: Alert management (port 9093)
  • Node Exporter: System metrics
  • Postgres Exporter: Database metrics
  • cAdvisor: Container metrics

Dashboards

  1. System Overview
  2. License Server Metrics
  3. Database Performance
  4. Container Resources
  5. Admin Panel Usage

Alert Rules

  • High CPU usage (>80%)
  • High memory usage (>90%)
  • Database connection issues
  • License server downtime
  • Disk space warnings

Admin Panel Integration

Features

  • License management interface
  • Customer creation and editing
  • License monitoring dashboard
  • Real-time statistics
  • Alert notifications

Technical Details

  • Flask-based web application
  • PostgreSQL database
  • Bootstrap UI framework
  • AJAX for real-time updates
  • Responsive design

Deployment Configuration

Docker Services

  • v2_db: PostgreSQL database
  • v2_adminpanel: Admin interface
  • v2_nginx: Reverse proxy
  • v2_lizenzserver: License server
  • prometheus: Metrics collection
  • grafana: Monitoring dashboards

Environment Variables

  • JWT_SECRET: Authentication key
  • DATABASE_URL: PostgreSQL connection
  • API_KEY: Service authentication
  • MONITORING_ENABLED: Feature flag

Network Configuration

  • Internal network for service communication
  • External access through Nginx
  • SSL/TLS termination at proxy level

Testing Strategy

Unit Tests

  • Service layer logic
  • API endpoint validation
  • Database operations

Integration Tests

  • Service communication
  • Database transactions
  • API workflows

Performance Tests

  • Load testing
  • Stress testing
  • Scalability verification

Future Roadmap

Phase 1: Core Completion

  • Finish analytics service
  • Complete backup automation
  • Implement all monitoring dashboards

Phase 2: Advanced Features

  • Machine learning for usage prediction
  • Advanced reporting
  • Multi-tenant support

Phase 3: Enterprise Features

  • High availability setup
  • Disaster recovery
  • Advanced security features