Skip to main content

Linux Appliance MVP - Product Specification

# Linux Appliance MVP - Product Specification

## Product Overview
**Name**: "Gluebox Node" Drupal+AI Appliance  
**Target**: Small to medium businesses requiring local CMS with AI-powered documentation  
**Form Factor**: Pre-configured mini PC appliance

## Core Technical Stack

### Operating System
- **Base**: Debian 12 (Bookworm) - Minimal Server Installation
- **Boot Target**: Multi-user.target (no GUI)
- **Memory Footprint**: ~200MB base OS overhead
- **Rationale**: Maximum resource availability for LLM, enterprise stability

### Application Stack
- **CMS**: Drupal 10.x (latest stable)
- **Search**: Apache Solr 9.x
- **LLM Engine**: Ollama with optimized model selection
- **Web Server**: Nginx (reverse proxy + static assets)
- **Database**: MariaDB 10.11
- **PHP**: PHP 8.2 with OPcache enabled

### Management Interface
- **Primary Interface**: Custom web dashboard (port 9000)
- **Access Method**: Browser-based from any network device
- **Authentication**: Local admin account + session management
- **Features**: System status, service management, backup controls

## Hardware Requirements

### Minimum Specifications
- **CPU**: 4-core x86-64 (Intel N100 or AMD equivalent)
- **RAM**: 16GB DDR4/DDR5
- **Storage**: 512GB NVMe SSD
- **Network**: Gigabit Ethernet
- **USB**: 2x USB 3.0 (for backup drives)

### Recommended Specifications
- **CPU**: 6-8 core (Intel i5/AMD Ryzen 5)
- **RAM**: 32GB
- **Storage**: 1TB NVMe SSD
- **Additional**: Hardware monitoring sensors

## User Experience Design

### Boot Sequence
1. **Power On**: Silent boot, no splash screens
2. **Service Startup**: Automatic systemd service initialization
3. **Ready State**: LED indicator + network availability
4. **Access**: Navigate to appliance IP address in browser

### Web Dashboard Features
- **System Overview**: CPU, memory, disk usage, service status
- **Content Management**: Direct link to Drupal admin
- **AI Assistant**: Interface to Ollama LLM for documentation queries
- **Backup Management**: USB backup status, cloud sync controls
- **Network Settings**: Static IP configuration, hostname settings
- **Maintenance**: Update management, log access, restart controls

### No-Desktop Policy
- No graphical desktop environment installed
- No user login prompts on console
- SSH access available but not advertised to end users
- All management through web interface

## Service Architecture

### Systemd Services (Auto-start)
```
drupal-stack.service     # Nginx + PHP-FPM + MariaDB
solr.service            # Apache Solr search engine
ollama.service          # LLM inference engine
appliance-dashboard.service  # Management web interface
backup-monitor.service  # USB backup detection/automation
```

### Network Configuration
- **Web Dashboard**: Port 9000
- **Drupal Site**: Port 80/443
- **SSH**: Port 22 (firewalled by default)
- **Internal Services**: Localhost binding only

## Data Management

### Local Storage Strategy
- **OS Partition**: 50GB (read-only after setup)
- **Application Data**: 200GB (Drupal files, database)
- **LLM Models**: 100GB (Ollama model storage)
- **User Content**: Remaining space
- **Log Rotation**: Automated cleanup, 30-day retention

### Backup System
- **USB Auto-Detection**: Plug-in backup drive recognition
- **Incremental Backups**: Daily automated backups to USB
- **Cloud Sync**: Optional encrypted sync to customer's cloud storage
- **Recovery**: Web-based restore interface

## Security Model

### Network Security
- **Firewall**: UFW enabled, minimal open ports
- **SSL/TLS**: Self-signed certificates (customer can replace)
- **Access Control**: Web dashboard requires authentication
- **Updates**: Automatic security updates enabled

### Application Security
- **Drupal**: Security hardened, regular core updates
- **Database**: Local binding only, strong authentication
- **SSH**: Key-based authentication only (if enabled)
- **Isolation**: Services run as dedicated users

## Initial Setup Process

### First Boot Experience
1. **Network Discovery**: DHCP assignment + IP display on connected monitor
2. **Web Setup Wizard**: Navigate to IP address in browser
3. **Configuration Steps**:
  - Admin account creation
  - Network settings (static IP option)
  - Drupal site configuration
  - LLM model selection and download
  - Backup preferences
4. **Completion**: Automatic service restart + ready status

### Time to Production
- **Target**: 15 minutes from power-on to functional Drupal site
- **LLM Ready**: Additional 10-30 minutes for model download
- **User Training**: Zero - self-evident web interface

## Performance Targets

### Resource Allocation
- **OS + Services**: 2GB RAM maximum
- **Drupal + Database**: 4-6GB RAM
- **Ollama LLM**: 8-12GB RAM (depending on model)
- **Available Models**: 7B parameter models optimized for documentation

### Response Times
- **Drupal Pages**: <2 seconds load time
- **Search Queries**: <1 second (Solr)
- **LLM Responses**: 5-15 seconds (depending on query complexity)
- **Dashboard**: <500ms page loads

## Maintenance & Updates

### Automatic Maintenance
- **OS Security Updates**: Weekly, automatic reboot if required
- **Application Updates**: Quarterly, manual approval required
- **Health Monitoring**: Daily self-checks, email alerts
- **Log Management**: Automatic rotation and cleanup

### Customer Support
- **Remote Diagnostics**: SSH key deployment option
- **Status Reports**: Downloadable system health reports
- **Documentation**: Built-in help system in web dashboard
- **Professional Services**: Optional managed update service

## Success Criteria

### MVP Validation Metrics
- **Setup Time**: <15 minutes to working Drupal site
- **Memory Efficiency**: <4GB total OS + web stack footprint
- **Stability**: 30+ day uptime without intervention
- **Performance**: LLM responses under 15 seconds
- **User Adoption**: Customer can manage without technical support

### Go-to-Market Readiness
- **Documentation**: Complete setup and user guides
- **Quality Assurance**: 100 hours continuous operation testing
- **Backup/Recovery**: Tested restore procedures
- **Support Infrastructure**: Knowledge base and ticket system
- **Compliance**: Basic security audit completion