5.0 KiB
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
- License Service - Core license validation
- Analytics Service - Usage statistics and reporting
- Admin API Service - Administrative operations
- Notification Service - Email/webhook notifications
- 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 definitionslicense_activations- Active installationslicense_heartbeats- Usage tracking (partitioned monthly)license_usage_stats- Aggregated statisticslicense_features- Feature flagslicense_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
- Institution management (CRUD operations)
- Contact person management
- Advanced search and filtering
- Export functionality
- Activity tracking
- 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
- System Overview
- License Server Metrics
- Database Performance
- Container Resources
- 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 databasev2_adminpanel: Admin interfacev2_nginx: Reverse proxyv2_lizenzserver: License serverprometheus: Metrics collectiongrafana: Monitoring dashboards
Environment Variables
JWT_SECRET: Authentication keyDATABASE_URL: PostgreSQL connectionAPI_KEY: Service authenticationMONITORING_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