Files
docupulse/templates/wiki/tabs/instances.html
2025-06-20 09:56:30 +02:00

434 lines
22 KiB
HTML

<div class="row">
<div class="col-lg-8">
<!-- Instances Overview -->
<div class="mb-5">
<h5 style="color: var(--primary-color);" class="mb-3">Multi-Tenant Instance Management</h5>
<p class="text-muted lead">
DocuPulse supports a sophisticated multi-tenant architecture where each tenant operates on a completely isolated
instance. The master instance orchestrates the creation, management, and monitoring of tenant instances with
automated deployment, health tracking, and resource management.
</p>
</div>
<!-- Instance Architecture -->
<div class="mb-5">
<h5 style="color: var(--primary-color);" class="mb-4">Instance Architecture</h5>
<div class="row g-4">
<div class="col-md-6">
<div class="card h-100 border-0 shadow-sm">
<div class="card-body">
<h6 style="color: var(--primary-color);" class="card-title mb-3">Master Instance</h6>
<ul class="list-unstyled mb-0">
<li class="mb-2">• Central orchestration hub</li>
<li class="mb-2">• Instance lifecycle management</li>
<li class="mb-2">• Health monitoring & alerts</li>
<li class="mb-2">• Resource allocation tracking</li>
<li class="mb-2">• Automated deployment</li>
<li class="mb-2">• Backup & recovery management</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card h-100 border-0 shadow-sm">
<div class="card-body">
<h6 style="color: var(--primary-color);" class="card-title mb-3">Tenant Instances</h6>
<ul class="list-unstyled mb-0">
<li class="mb-2">• Isolated data & storage</li>
<li class="mb-2">• Independent user management</li>
<li class="mb-2">• Custom configurations</li>
<li class="mb-2">• Separate database instances</li>
<li class="mb-2">• Unique domain/subdomain</li>
<li class="mb-2">• Scalable resource limits</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Instance Management -->
<div class="mb-5">
<h5 style="color: var(--primary-color);" class="mb-4">Instance Management</h5>
<!-- Instance Creation -->
<div class="card border-0 shadow-sm mb-4">
<div class="card-header bg-white">
<h6 class="mb-0" style="color: var(--primary-color);">
<i class="fas fa-plus me-2"></i>Instance Creation Process
</h6>
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-6">
<h6 class="text-muted mb-2">Creation Steps</h6>
<ol class="small">
<li class="mb-1">Validate instance requirements</li>
<li class="mb-1">Generate unique identifiers</li>
<li class="mb-1">Create Docker stack configuration</li>
<li class="mb-1">Deploy via Portainer API</li>
<li class="mb-1">Configure NGINX proxy</li>
<li class="mb-1">Generate SSL certificates</li>
<li class="mb-1">Initialize database</li>
<li class="mb-1">Verify deployment health</li>
</ol>
</div>
<div class="col-md-6">
<h6 class="text-muted mb-2">Required Information</h6>
<ul class="list-unstyled small">
<li class="mb-1">• Instance name (unique)</li>
<li class="mb-1">• Company information</li>
<li class="mb-1">• Domain/subdomain</li>
<li class="mb-1">• Resource limits</li>
<li class="mb-1">• Payment plan</li>
<li class="mb-1">• Connection token</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Instance Operations -->
<div class="card border-0 shadow-sm mb-4">
<div class="card-header bg-white">
<h6 class="mb-0" style="color: var(--primary-color);">
<i class="fas fa-cogs me-2"></i>Instance Operations
</h6>
</div>
<div class="card-body">
<div class="row g-3">
<div class="col-md-6">
<h6 class="text-muted mb-2">Lifecycle Operations</h6>
<ul class="list-unstyled small">
<li class="mb-1">• Start/stop instances</li>
<li class="mb-1">• Restart instances</li>
<li class="mb-1">• Scale resources</li>
<li class="mb-1">• Update configurations</li>
<li class="mb-1">• Backup instances</li>
<li class="mb-1">• Restore instances</li>
</ul>
</div>
<div class="col-md-6">
<h6 class="text-muted mb-2">Administrative Operations</h6>
<ul class="list-unstyled small">
<li class="mb-1">• Monitor health status</li>
<li class="mb-1">• View resource usage</li>
<li class="mb-1">• Access logs</li>
<li class="mb-1">• Manage users</li>
<li class="mb-1">• Configure settings</li>
<li class="mb-1">• Delete instances</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Infrastructure Integration -->
<div class="mb-5">
<h5 style="color: var(--primary-color);" class="mb-4">Infrastructure Integration</h5>
<div class="row g-4">
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-body">
<h6 class="card-title text-muted mb-3">Portainer Integration</h6>
<ul class="list-unstyled small">
<li class="mb-2">• Docker stack deployment</li>
<li class="mb-2">• Container management</li>
<li class="mb-2">• Resource monitoring</li>
<li class="mb-2">• Log access</li>
<li class="mb-2">• Health checks</li>
<li class="mb-2">• Automated scaling</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-body">
<h6 class="card-title text-muted mb-3">NGINX Proxy Manager</h6>
<ul class="list-unstyled small">
<li class="mb-2">• Reverse proxy configuration</li>
<li class="mb-2">• SSL certificate management</li>
<li class="mb-2">• Domain routing</li>
<li class="mb-2">• Load balancing</li>
<li class="mb-2">• Security headers</li>
<li class="mb-2">• Rate limiting</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Instance Monitoring -->
<div class="mb-5">
<h5 style="color: var(--primary-color);" class="mb-4">Instance Monitoring</h5>
<div class="card border-0 shadow-sm">
<div class="card-body">
<div class="row g-4">
<div class="col-md-6">
<h6 class="text-muted mb-3">Health Monitoring</h6>
<ul class="list-unstyled small">
<li class="mb-2">• Application health checks</li>
<li class="mb-2">• Database connectivity</li>
<li class="mb-2">• Container status</li>
<li class="mb-2">• Response time monitoring</li>
<li class="mb-2">• Error rate tracking</li>
<li class="mb-2">• Resource utilization</li>
</ul>
</div>
<div class="col-md-6">
<h6 class="text-muted mb-3">Alerting System</h6>
<ul class="list-unstyled small">
<li class="mb-2">• Health status alerts</li>
<li class="mb-2">• Resource threshold alerts</li>
<li class="mb-2">• Error notifications</li>
<li class="mb-2">• Performance degradation</li>
<li class="mb-2">• Security alerts</li>
<li class="mb-2">• Maintenance notifications</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Resource Management -->
<div class="mb-5">
<h5 style="color: var(--primary-color);" class="mb-4">Resource Management</h5>
<div class="row g-4">
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-body">
<h6 class="card-title text-muted mb-3">Resource Allocation</h6>
<ul class="list-unstyled small">
<li class="mb-2">• CPU limits per instance</li>
<li class="mb-2">• Memory allocation</li>
<li class="mb-2">• Storage quotas</li>
<li class="mb-2">• Network bandwidth</li>
<li class="mb-2">• Database connections</li>
<li class="mb-2">• API rate limits</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-body">
<h6 class="card-title text-muted mb-3">Scaling Features</h6>
<ul class="list-unstyled small">
<li class="mb-2">• Horizontal scaling</li>
<li class="mb-2">• Vertical scaling</li>
<li class="mb-2">• Auto-scaling policies</li>
<li class="mb-2">• Load balancing</li>
<li class="mb-2">• Resource optimization</li>
<li class="mb-2">• Capacity planning</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Security & Isolation -->
<div class="mb-5">
<h5 style="color: var(--primary-color);" class="mb-4">Security & Isolation</h5>
<div class="row g-4">
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-body">
<h6 class="card-title text-muted mb-3">Data Isolation</h6>
<ul class="list-unstyled small">
<li class="mb-2">• Separate databases</li>
<li class="mb-2">• Isolated file storage</li>
<li class="mb-2">• Network isolation</li>
<li class="mb-2">• User data separation</li>
<li class="mb-2">• Configuration isolation</li>
<li class="mb-2">• Backup isolation</li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card border-0 shadow-sm">
<div class="card-body">
<h6 class="card-title text-muted mb-3">Security Features</h6>
<ul class="list-unstyled small">
<li class="mb-2">• SSL/TLS encryption</li>
<li class="mb-2">• Access control</li>
<li class="mb-2">• Audit logging</li>
<li class="mb-2">• Vulnerability scanning</li>
<li class="mb-2">• Security updates</li>
<li class="mb-2">• Compliance monitoring</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Backup & Recovery -->
<div class="mb-5">
<h5 style="color: var(--primary-color);" class="mb-4">Backup & Recovery</h5>
<div class="card border-0 shadow-sm">
<div class="card-body">
<div class="row g-4">
<div class="col-md-6">
<h6 class="text-muted mb-3">Backup Strategy</h6>
<ul class="list-unstyled small">
<li class="mb-2">• Automated daily backups</li>
<li class="mb-2">• Database snapshots</li>
<li class="mb-2">• File system backups</li>
<li class="mb-2">• Configuration backups</li>
<li class="mb-2">• Incremental backups</li>
<li class="mb-2">• Cross-region replication</li>
</ul>
</div>
<div class="col-md-6">
<h6 class="text-muted mb-3">Recovery Procedures</h6>
<ul class="list-unstyled small">
<li class="mb-2">• Point-in-time recovery</li>
<li class="mb-2">• Disaster recovery</li>
<li class="mb-2">• Instance restoration</li>
<li class="mb-2">• Data validation</li>
<li class="mb-2">• Testing procedures</li>
<li class="mb-2">• Documentation</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Sidebar -->
<div class="col-lg-4">
<!-- Instance Statistics -->
<div class="card border-0 shadow-sm mb-4">
<div class="card-body text-center">
<h5 class="card-title mb-4" style="color: var(--primary-color);">Instance Stats</h5>
<div class="row g-3">
<div class="col-6">
<div class="p-3 rounded" style="background-color: var(--primary-opacity-15);">
<div class="h3 mb-1" style="color: var(--primary-color);"></div>
<small class="text-muted">Tenant Instances</small>
</div>
</div>
<div class="col-6">
<div class="p-3 rounded" style="background-color: var(--secondary-opacity-15);">
<div class="h3 mb-1" style="color: var(--secondary-color);">1</div>
<small class="text-muted">Master Instance</small>
</div>
</div>
<div class="col-6">
<div class="p-3 rounded" style="background-color: var(--primary-opacity-15);">
<div class="h3 mb-1" style="color: var(--primary-color);">60s</div>
<small class="text-muted">Health Check</small>
</div>
</div>
<div class="col-6">
<div class="p-3 rounded" style="background-color: var(--secondary-opacity-15);">
<div class="h3 mb-1" style="color: var(--secondary-color);">24/7</div>
<small class="text-muted">Monitoring</small>
</div>
</div>
</div>
</div>
</div>
<!-- Instance Operations -->
<div class="card border-0 shadow-sm mb-4">
<div class="card-body">
<h5 class="card-title mb-3" style="color: var(--primary-color);">Instance Operations</h5>
<div class="d-grid gap-2">
<div class="p-2 rounded" style="background-color: var(--primary-bg-light);">
<i class="fas fa-plus me-2"></i>Create Instance
</div>
<div class="p-2 rounded" style="background-color: var(--secondary-bg-light);">
<i class="fas fa-play me-2"></i>Start Instance
</div>
<div class="p-2 rounded" style="background-color: var(--primary-bg-light);">
<i class="fas fa-stop me-2"></i>Stop Instance
</div>
<div class="p-2 rounded" style="background-color: var(--secondary-bg-light);">
<i class="fas fa-sync me-2"></i>Restart Instance
</div>
<div class="p-2 rounded" style="background-color: var(--primary-bg-light);">
<i class="fas fa-expand-arrows-alt me-2"></i>Scale Instance
</div>
<div class="p-2 rounded" style="background-color: var(--secondary-bg-light);">
<i class="fas fa-trash me-2"></i>Delete Instance
</div>
</div>
</div>
</div>
<!-- Infrastructure Components -->
<div class="card border-0 shadow-sm mb-4">
<div class="card-body">
<h5 class="card-title mb-3" style="color: var(--primary-color);">Infrastructure</h5>
<div class="small">
<div class="mb-2">
<i class="fas fa-docker text-primary me-2"></i>
<strong>Docker</strong> - Containerization
</div>
<div class="mb-2">
<i class="fas fa-server text-primary me-2"></i>
<strong>Portainer</strong> - Container management
</div>
<div class="mb-2">
<i class="fas fa-shield-alt text-primary me-2"></i>
<strong>NGINX Proxy</strong> - Load balancing
</div>
<div class="mb-2">
<i class="fas fa-database text-primary me-2"></i>
<strong>PostgreSQL</strong> - Database isolation
</div>
<div class="mb-2">
<i class="fas fa-chart-line text-primary me-2"></i>
<strong>Monitoring</strong> - Health tracking
</div>
<div class="mb-2">
<i class="fas fa-backup text-primary me-2"></i>
<strong>Backup</strong> - Data protection
</div>
</div>
</div>
</div>
<!-- Instance Status -->
<div class="card border-0 shadow-sm">
<div class="card-body">
<h5 class="card-title mb-3" style="color: var(--primary-color);">Instance Status</h5>
<div class="small">
<div class="mb-2">
<i class="fas fa-circle text-success me-2"></i>
<strong>Active</strong> - Running normally
</div>
<div class="mb-2">
<i class="fas fa-circle text-warning me-2"></i>
<strong>Starting</strong> - Initializing
</div>
<div class="mb-2">
<i class="fas fa-circle text-danger me-2"></i>
<strong>Stopped</strong> - Not running
</div>
<div class="mb-2">
<i class="fas fa-circle text-info me-2"></i>
<strong>Maintenance</strong> - Under maintenance
</div>
<div class="mb-2">
<i class="fas fa-circle text-secondary me-2"></i>
<strong>Error</strong> - Health check failed
</div>
<div class="mb-2">
<i class="fas fa-circle text-dark me-2"></i>
<strong>Unknown</strong> - Status unclear
</div>
</div>
</div>
</div>
</div>
</div>