25 KiB
Virtual PLC Platform - Technical Implementation Guide
Detailed technical architecture for applying ZLH platform model to industrial automation
Executive Summary
This document outlines the technical implementation strategy for building a multi-tenant virtual PLC/SCADA hosting platform using proven LXC container architecture (from ZeroLagHub) applied to industrial automation.
Core Concept: Take ZLH's architecture (LXC containers, multi-tenant hosting, automated pipelines) and apply it to virtual PLC/SCADA hosting for manufacturers.
Platform Architecture Overview
Business Model Tiers
ZLH Gaming Model (Reference):
Dev Container → Test Container → Production Container
($10/mo) ($20/mo) ($50/mo game server)
Industrial Platform Model:
Dev/Simulation → Test/Commissioning → Production PLC
($500/mo) ($1,500/mo) ($2,500/mo + monitoring)
Revenue Model Comparison
ZLH (Gaming):
- Avg customer: $50-150/month
- Customers needed for $10k MRR: 70-200 customers
- Customer acquisition: Hard (gaming is saturated)
- Churn risk: High (indie devs quit projects)
Industrial Platform:
- Avg customer: $2,000-5,000/month
- Customers needed for $10k MRR: 2-5 customers
- Customer acquisition: Moderate (smaller target market, hungry for solutions)
- Churn risk: Low (manufacturers don't switch easily)
Infrastructure Architecture
Hosting Platform: GTHost Dedicated Servers
Available Specs:
- Pricing: $59-500/month depending on configuration
- RAM: 8GB to 1TB+
- CPU: Intel Xeon, AMD EPYC (4-32+ cores)
- GPU: Available for specialized workloads
- Network: Unmetered bandwidth, 1Gbps+
- Locations: 21+ datacenters (USA, Canada, Europe)
- Setup: 5-15 minutes instant activation
- Contracts: Month-to-month (no long-term lock-in)
- Trial: $5/day for up to 10 days
Multi-Tenant Server Configuration
Example: Single GTHost Server Setup
Total Server: 32 cores, 64GB RAM, 2TB SSD
├── ZLH Platform: 8 cores, 16GB RAM (gaming customers)
│ ├── Customer A: Minecraft server (2 cores, 4GB)
│ ├── Customer B: Rust server (4 cores, 8GB)
│ └── Customer C: 7DTD server (2 cores, 4GB)
│
├── Industrial Platform: 8 cores, 16GB RAM (virtual PLCs)
│ ├── Client A: Virtual PLC + monitoring (4 cores, 8GB)
│ └── Development/Testing: Internal dev work (4 cores, 8GB)
│
└── Shared Services: 4 cores, 8GB RAM
├── API layer (handles both gaming + industrial)
├── Monitoring (Grafana/Prometheus)
├── Databases (PostgreSQL for both)
└── Reverse proxy (Caddy/Nginx)
Cost: $200-300/month for single server serving both businesses
Container Platform: LXC
Why LXC Over Docker
Advantages:
- ✅ Lower overhead (runs closer to bare metal)
- ✅ Better for long-running services (MQTT, databases, PLCs)
- ✅ Simpler networking (bridge vs overlay)
- ✅ Proven from ZeroLagHub experience
- ✅ Less complexity than Kubernetes
- ✅ Real-time capable (lower latency)
Disadvantages:
- ❌ Less popular than Docker (smaller community)
- ❌ Fewer pre-built images
- ❌ Manual setup required
Decision: Use LXC for multi-tenant platform, Docker for customer edge deployments (easier for customers to maintain)
LXC Container Template (Per Customer)
Customer Container (LXC):
├── Ubuntu 24.04 minimal
├── Mosquitto MQTT broker (isolated)
├── InfluxDB (isolated database)
├── Grafana (customer-specific dashboards)
├── Node-RED (optional, for advanced workflows)
├── Virtual PLC runtime (CODESYS or OpenPLC)
├── Backup agent (automated daily)
└── Resource limits (CPU, RAM, disk)
Resource Allocation per Customer:
- CPU: 1-2 cores (burstable)
- RAM: 2-4GB
- Disk: 50-100GB
- Network: Shared 1Gbps
Capacity Planning:
- 8-10 basic customers per server
- 5-8 customers if heavy data volume
- Monitor: CPU, RAM, disk I/O, network
Virtual PLC Software Options
Option 1: CODESYS Virtual Control (Commercial)
Overview:
- Industry standard (30 years, millions of installs)
- IEC 61131-3 certified
- Hardware-independent, container-based
- ISO 61508 SIL3 certified (June 2024)
Pricing:
- $99-499/month per runtime instance
- One-time licenses: $5k-15k + support
Pros:
- ✅ Industry standard - customers trust it
- ✅ Proven reliability
- ✅ Comprehensive documentation
- ✅ Large ecosystem
- ✅ Safety certifications
Cons:
- ❌ Licensing costs per customer
- ❌ Vendor dependency
- ❌ Annual fees
Best For:
- Premium tier customers
- Regulated industries
- Customers requiring certifications
- Enterprise clients
Option 2: OpenPLC (Open Source)
Overview:
- Open-source soft PLC
- IEC 61131-3 compliant
- Runs on Linux, Windows, Raspberry Pi
- Web-based programming interface
- No licensing costs
Pricing:
- $0 (GPL license)
- Free forever
Pros:
- ✅ Zero licensing costs (100% margin)
- ✅ Full control over code
- ✅ Active community
- ✅ Can customize for customers
- ✅ Web-based interface
Cons:
- ❌ Not safety-certified (use for non-critical only)
- ❌ Smaller ecosystem than CODESYS
- ❌ Less mature
- ❌ You provide all support
Best For:
- Budget-conscious customers
- Non-safety-critical applications
- Development/testing environments
- Monitoring-only deployments
Installation:
git clone https://github.com/thiagoralves/OpenPLC_v3.git
cd OpenPLC_v3
./install.sh
Option 3: Hybrid Approach (Recommended)
Strategy:
- Tier 1 (Dev/Simulation): Use OpenPLC ($0 cost)
- Tier 2 (Virtual Commissioning): OpenPLC or CODESYS based on needs
- Tier 3 (Production): CODESYS for critical, OpenPLC for monitoring
Benefits:
- Maximize margins on lower tiers
- Offer upgrade path to certified solution
- Customer choice based on requirements
- Flexibility for different industries
SCADA/HMI Software Stack
Option 1: Node-RED (Recommended for Most)
Overview:
- Visual programming / flow-based development
- Low-code platform
- Extensive plugin ecosystem
- Built-in web dashboard
Pricing: $0 (Apache 2.0 license)
Pros:
- ✅ Zero cost
- ✅ Very fast development
- ✅ Customer can see/modify flows
- ✅ Modern web interface
- ✅ Integrates with everything (MQTT, Modbus, OPC-UA)
- ✅ Built-in dashboard creator
Cons:
- ❌ Not "industrial" looking (can be styled)
- ❌ Limited real-time capabilities
- ❌ No built-in alarming (add custom)
Best For:
- 80% of customers
- Quick deployments
- Budget-conscious clients
- Monitoring applications
Key Plugins:
node-red-contrib-modbus # Modbus TCP/RTU
node-red-contrib-opcua # OPC UA client
node-red-contrib-s7 # Siemens S7
node-red-dashboard # UI widgets
node-red-contrib-influxdb # Database
Installation:
sudo apt update
sudo apt install nodejs npm
sudo npm install -g node-red
sudo npm install -g pm2
pm2 start node-red
pm2 save
pm2 startup
Option 2: RapidSCADA (Professional)
Overview:
- Full-featured open-source SCADA
- Modular architecture
- Industrial-grade alarming
- Built-in historian
Pricing: $0 (Apache 2.0 license)
Pros:
- ✅ Professional appearance
- ✅ Industrial features (alarming, trending, reporting)
- ✅ Multi-user access control
- ✅ Scalable architecture
- ✅ Looks like "real" SCADA
Cons:
- ❌ Steeper learning curve
- ❌ More complex to deploy
- ❌ Slower development vs Node-RED
Best For:
- Enterprise customers
- Complex processes
- Need professional appearance
- Regulated industries
Installation:
wget rapidscada.org/download/rapidscada-installer.run
chmod +x rapidscada-installer.run
sudo ./rapidscada-installer.run
Option 3: Grafana (Visualization Layer)
Overview:
- Modern dashboarding platform
- Time-series visualization
- Alerting capabilities
- Multi-datasource support
Pricing: $0 (AGPL license)
Pros:
- ✅ Beautiful, modern UI
- ✅ Customers often familiar with it
- ✅ Excellent time-series visualization
- ✅ Built-in alerting
- ✅ Mobile-friendly
Cons:
- ❌ Not a control interface (monitoring only)
- ❌ Limited HMI-style features
- ❌ Requires separate data source
Best For:
- Dashboard/visualization layer
- Monitoring applications
- Analytics and trending
- Management reporting
Stack: Grafana + InfluxDB + MQTT
Complete Software Stack Options
Stack A: "The Lightweight Solution" ($0 software cost)
Target: 80% of customers, quick deployments
Components:
OS: Ubuntu 24.04 LTS
Container: LXC
PLC: OpenPLC (if needed)
HMI: Node-RED Dashboard
Visualization: Grafana
Database: InfluxDB
MQTT Broker: Mosquitto
Protocols: Modbus, OPC-UA (via Node-RED)
Development Time: 1-2 days to build custom HMI
Best For:
- Quick deployments
- Simple monitoring
- Budget-conscious customers
- Non-safety-critical applications
Gross Margin: 98%+ (only server costs)
Stack B: "The Professional Solution" ($380/year per customer)
Target: Premium customers, regulated industries
Components:
OS: Ubuntu 24.04 LTS + RT-PREEMPT kernel
Container: LXC
PLC: CODESYS Virtual Control
HMI: RapidSCADA
Visualization: Grafana
Database: PostgreSQL + InfluxDB
MQTT Broker: Mosquitto
Protocols: All major industrial protocols
Development Time: 3-5 days initial setup, then reusable templates
Best For:
- Professional installations
- Complex processes
- Need enterprise features
- Regulated industries
Gross Margin: ~90% (server + CODESYS licensing)
Stack C: "The All-in-One Solution" ($0 software cost)
Target: Machine builders, OEMs, motion control
Components:
OS: Debian 11
All-in-One: Beremiz (PLC + HMI combined)
Database: Built-in
Visualization: Built-in SVG editor
Protocols: Modbus, CANopen, EtherCAT
Development Time: 2-3 days learning curve, then fast
Best For:
- Machine builders
- Need tight PLC/HMI integration
- Motion control applications
- All-in-one simplicity
Gross Margin: 98%+ (only server costs)
Edge Hardware Options (Customer Site)
Option 1: Raspberry Pi (Not Recommended)
Price: $35-75
Pros:
- Very cheap
- Large community
- Easy to get started
Cons:
- ❌ Unreliable (SD card failures)
- ❌ Not industrial-grade
- ❌ Power supply issues
- ❌ Limited I/O without expansion
- ❌ Support nightmare
Verdict: Too unreliable for production deployments
Option 2: Industrial Mini PC (RECOMMENDED)
Examples:
- Protectli Vault
- Qotom Mini PC
- Topton industrial PC
Price: $110-250
Specs:
- Intel Celeron/Core i3/i5
- 4-8GB RAM
- 128-256GB SSD (not SD card!)
- Multiple Ethernet ports
- Fanless (no moving parts)
- Wide temperature range
- DIN rail mountable
Pros:
- ✅ Reliable (SSD, no SD card)
- ✅ Affordable
- ✅ Industrial-grade
- ✅ Fanless (no fan failures)
- ✅ Professional appearance
- ✅ x86 compatible (run anything)
Cons:
- More expensive than Raspberry Pi
- Requires power brick
Verdict: Sweet spot for edge deployments
Option 3: Certified Industrial PC
Examples:
- Advantech
- Siemens SIMATIC IPC
- Beckhoff
Price: $400-1,500+
Pros:
- ✅ Fully certified
- ✅ Long product lifecycle
- ✅ Industrial certifications
- ✅ Warranty and support
Cons:
- ❌ Expensive
- ❌ Overkill for many applications
Best For:
- Enterprise tier customers
- Regulated industries
- Safety-critical applications
HMI Display Options
Option 1: No Display (Web-Based)
Cost: $0
Approach:
- Operators use tablets/phones/PCs
- Access via web browser (HTTPS)
- Responsive design
Pros:
- ✅ Zero hardware cost
- ✅ BYOD (bring your own device)
- ✅ Flexible (any device works)
- ✅ Modern approach
Best For:
- Remote monitoring
- Mobile workforce
- Cost-sensitive deployments
Option 2: 7" Budget Touchscreen
Examples:
- Raspberry Pi Official 7" Touch
- Generic 7" HDMI touch displays
Price: $50-80
Pros:
- ✅ Affordable
- ✅ Compact
- ✅ Touch interface
- ✅ Good for simple HMI
Cons:
- ❌ Not industrial-grade
- ❌ Limited viewing angles
- ❌ Not bright enough for direct sunlight
Best For:
- Indoor use
- Simple interfaces
- Budget deployments
Option 3: 10" Industrial Touchscreen
Examples:
- Industrial panel PCs with touch
- Industrial-grade displays
Price: $200-400
Pros:
- ✅ Professional appearance
- ✅ Industrial certifications
- ✅ Bright display
- ✅ Wide viewing angles
- ✅ Rugged construction
Best For:
- Professional installations
- Factory floor use
- Enterprise customers
Option 4: Wireless Display (Bluetooth/WiFi)
Cost: $0 (use existing displays)
Approach:
- Connect edge device to existing monitors/TVs via HDMI
- Or use wireless screen sharing
- Operators can mirror to phones/tablets
Best For:
- Facilities with existing displays
- Flexible deployment
- Cost optimization
Data Flow Architecture
Edge to Cloud Data Pipeline
Customer Site (Edge):
PLC → Node-RED → MQTT (local edge device)
↓
(Over VPN or direct connection)
↓
GTHost Server (Cloud):
MQTT Broker → InfluxDB → Grafana
↓
Alert Engine → Email/SMS
Multi-Tenant Network Architecture
Internet
↓
Caddy Reverse Proxy (TLS termination)
↓
LXC Bridge (internal network)
├── Customer 1 Container (192.168.100.10)
├── Customer 2 Container (192.168.100.11)
├── Customer 3 Container (192.168.100.12)
└── ...
Subdomain Structure
- customer1.yourdomain.com → Grafana dashboard
- customer2.yourdomain.com → Grafana dashboard
- mqtt.yourdomain.com → MQTT broker (port per customer)
Protocol Support
OT Protocols (Industrial)
Native Support:
- Modbus TCP/RTU
- OPC UA
- Siemens S7 (via Snap7)
- EtherNet/IP (Allen-Bradley)
- BACnet (building automation)
- Profinet (via OPC UA gateway)
Via Node-RED Plugins:
node-red-contrib-modbus # Modbus
node-red-contrib-opcua # OPC UA
node-red-contrib-s7 # Siemens
node-red-contrib-bacnet # BACnet
IT Protocols (Integration)
- MQTT (primary message bus)
- HTTP/REST APIs
- HTTPS for dashboards
- SMTP for email alerts
- Webhooks for integrations
Security Architecture
Server Hardening
Required:
- Disable root login (SSH key only)
- Fail2ban configured
- UFW firewall (only necessary ports)
- Automated security updates
- Regular security audits (quarterly)
Application Security
Required:
- TLS/SSL everywhere (Let's Encrypt)
- Strong passwords (generated, stored in 1Password)
- API keys rotated (quarterly)
- Container isolation verified
- Database encryption at rest
Network Security
Edge to Cloud:
- VPN access for edge devices (WireGuard)
- Optional: Direct connection over TLS/MQTT
- Firewall rules (only necessary ports)
- Certificate-based authentication
Backup & Disaster Recovery
Backup Strategy
Automated Daily Backups (3am UTC):
- Retention: 7 daily, 4 weekly, 12 monthly
- Storage: GTHost server + offsite (Wasabi/Backblaze B2)
- Encrypted with GPG
- Automated restore testing (monthly)
What's Backed Up:
- All customer containers (LXC snapshots)
- Databases (InfluxDB, PostgreSQL)
- Configuration files
- Dashboard definitions
- SSL certificates
Disaster Recovery
Targets:
- RTO (Recovery Time Objective): 4 hours
- RPO (Recovery Point Objective): 24 hours
- Documented restoration procedure
- Annual DR test
Monitoring & Alerting
Server Monitoring
Internal Stack:
- Prometheus + Grafana (internal monitoring)
- Alerts: CPU >80%, RAM >80%, Disk >85%
- UptimeRobot (external monitoring)
- Optional: PagerDuty for critical alerts
Metrics:
- Per-container resource usage
- MQTT connection status
- InfluxDB query performance
- Grafana dashboard access logs
Customer Monitoring
Per-Customer Dashboards:
- Edge device connectivity status
- Data collection rates
- Alert history
- System health metrics
Deployment Process
Customer Onboarding Flow
Phase 1: Planning (Week 1)
- Discovery call (understand needs)
- Site assessment (protocols, I/O requirements)
- Quote and proposal
- Contract signing
Phase 2: Setup (Week 2)
- Provision LXC container
- Configure subdomain and SSL
- Build custom dashboards
- Integration testing
Phase 3: Edge Deployment (Week 3)
- Ship pre-configured edge device
- Customer installs (plug & play)
- VPN connection establishes
- Data begins flowing
Phase 4: Training & Go-Live (Week 4)
- Remote training session
- Documentation handoff
- Go live
- 30-day monitoring period
Total Time: ~1 month per customer
Development Workflow
Local Development
Workstation Setup:
- Ubuntu 22.04 or macOS
- Docker Desktop (for testing containers)
- VS Code with extensions:
- Python
- Docker
- YAML
- Grafana dashboards
Testing Environment:
- Local LXC or Docker setup
- Simulated PLC data (Node-RED)
- Small InfluxDB + Grafana instance
CI/CD Pipeline (Future)
Source Control:
- Git (self-hosted Gitea or GitHub)
- Branches: main, development, customer-specific
Automation:
- Gitea Actions or GitHub Actions
- Automated testing on push
- Deployment scripts (Ansible)
Deployment Process (Manual Initially):
- Test in local environment
- Deploy to staging container
- Validate with test data
- Deploy to production
- Monitor for issues
Architecture Comparison: ZLH vs Industrial
Code Reuse: 70%
What's SHARED between platforms:
✅ LXC container orchestration
✅ User authentication/authorization
✅ API infrastructure
✅ Billing/payment processing (Stripe)
✅ Resource monitoring/logging
✅ Database layer
✅ Web UI framework
What's DIFFERENT:
Gaming-Specific:
- Game server templates (Minecraft, Rust, etc.)
- Steam integration
- Gaming-specific metrics
Industrial-Specific:
- CODESYS/OpenPLC runtime
- Industrial protocols (Modbus, OPC-UA)
- SCADA visualization (Grafana dashboards)
- Alarm management
Development Strategy
- ZLH is 85% done → Finish core platform
- Industrial platform: Fork ZLH codebase
- Swap gaming logic for industrial modules
- Reuse: API, auth, billing, monitoring, container orchestration
- Add: PLC runtime, protocol handlers, SCADA dashboards
Estimated Development Time: 2-3 months to MVP (leveraging ZLH foundation)
Cost Analysis
Per-Customer Economics
Lightweight Stack (OpenPLC + Node-RED):
Customer Pays: $2,000/month
Your Costs:
- Server allocation: $20-30/month (1/10th of server)
- Software licenses: $0
- Support time: ~5 hours/month @ $50/hour = $250
- Total Cost: ~$280/month
Gross Profit: $1,720/month per customer (86% margin)
Premium Stack (CODESYS + RapidSCADA):
Customer Pays: $4,000/month
Your Costs:
- Server allocation: $30-40/month
- CODESYS license: $32/month (€350/year)
- Support time: ~8 hours/month @ $50/hour = $400
- Total Cost: ~$470/month
Gross Profit: $3,530/month per customer (88% margin)
Scaling Economics
At 5 Customers (Breakeven/Early Stage):
- Revenue: $10,000-20,000/month
- Server Costs: $300/month (1 server)
- Software: $0-160/month
- Support: 25-40 hours/month
- Net Profit: $8,000-15,000/month
At 10 Customers (Sustainable):
- Revenue: $20,000-40,000/month
- Server Costs: $600/month (2 servers)
- Software: $0-320/month
- Support: 50-80 hours/month
- Net Profit: $15,000-30,000/month
Technology Decision Matrix
When to Use What
OpenPLC:
- ✅ Development/testing environments
- ✅ Non-safety-critical monitoring
- ✅ Budget-conscious customers
- ✅ Custom applications
CODESYS:
- ✅ Production control systems
- ✅ Regulated industries
- ✅ Customer requires certifications
- ✅ Premium tier customers
Node-RED:
- ✅ 80% of HMI needs
- ✅ Quick deployments
- ✅ Modern customers
- ✅ Rapid prototyping
RapidSCADA:
- ✅ Traditional industrial customers
- ✅ Complex alarming requirements
- ✅ Need "professional" appearance
- ✅ Multi-user access control
Grafana:
- ✅ Always include for visualization
- ✅ Management reporting
- ✅ Time-series analytics
- ✅ Mobile access
Implementation Roadmap
Phase 1: Foundation (Month 1-2)
Objective: Get first pilot customer live
-
Week 1-2: Infrastructure setup
- Provision GTHost server
- Install Ubuntu + LXC
- Configure networking and security
- Set up monitoring
-
Week 3-4: Software stack deployment
- Deploy OpenPLC + Node-RED stack
- Build first customer container template
- Create reusable dashboards
- Integration testing
-
Week 5-6: Pilot customer
- Onboard first customer
- Deploy edge hardware
- Configure data collection
- Training and go-live
-
Week 7-8: Refinement
- Document learnings
- Refine templates
- Improve automation
- Prepare for scale
Phase 2: Scaling (Month 3-6)
Objective: Reach 5 customers, validate business model
- Add customers 2-5
- Optimize deployment process
- Build library of templates
- Improve monitoring and alerting
- Add CODESYS option for premium tier
Phase 3: Growth (Month 7-12)
Objective: Scale to 10+ customers, achieve $25k+ MRR
- Hire first contractor (part-time technical support)
- Add second server (geographic redundancy)
- Implement CI/CD pipeline
- Build customer self-service portal
- Expand protocol support
Key Technical Decisions
Decision 1: LXC vs Docker
Chosen: LXC for platform, Docker for customer edge
Rationale:
- LXC: Lower overhead, proven from ZLH, better for long-running services
- Docker: Easier for customers to maintain on edge devices
Decision 2: OpenPLC vs CODESYS
Chosen: Hybrid approach (both)
Rationale:
- OpenPLC: $0 cost, maximum margins, sufficient for 70% of use cases
- CODESYS: Premium option for customers needing certifications
- Flexibility to match customer requirements and budget
Decision 3: GTHost vs AWS/Azure
Chosen: GTHost dedicated servers
Rationale:
- No AWS conflict with employer
- Bare metal performance (real-time capable)
- Predictable costs
- Month-to-month flexibility
- Can add GPU for future AI features
Decision 4: Edge Hardware
Chosen: Industrial Mini PCs ($110-250)
Rationale:
- Reliable (SSD, no SD card failures like Pi)
- Affordable (vs $400+ industrial PCs)
- Professional appearance
- x86 compatible (maximum flexibility)
Risk Mitigation
Technical Risks
Risk: Container escape/isolation breach Mitigation:
- Regular security updates
- Container resource limits enforced
- Monitoring for unusual activity
- Separate network namespaces
Risk: Data loss Mitigation:
- Automated daily backups
- Offsite backup storage
- Monthly restore testing
- 7-day retention minimum
Risk: Real-time performance issues Mitigation:
- Bare metal servers (no nested virtualization)
- LXC vs Docker (lower overhead)
- RT-PREEMPT kernel option
- Edge processing (time-critical at edge, not cloud)
Business Risks
Risk: Customer churn Mitigation:
- High-touch onboarding
- Excellent support
- Sticky data (historical trends)
- Annual contracts for discount
Risk: Support burden Mitigation:
- Excellent documentation
- Self-service portal
- Automated monitoring
- Hire contractors for overflow
Success Metrics
Technical KPIs
- Container provisioning time: <15 minutes
- Data collection uptime: >99.5%
- Dashboard load time: <2 seconds
- Backup success rate: 100%
- Security incidents: 0
Business KPIs
- Customer acquisition cost: <$500
- Gross margin: >85%
- Monthly recurring revenue: $25k by month 12
- Customer churn: <10% annually
- Net Promoter Score: >50
Next Steps
Immediate Actions (Week 1)
- Provision GTHost trial server ($5/day)
- Install Ubuntu + LXC
- Deploy OpenPLC + Node-RED stack
- Build first dashboard template
- Test with simulated PLC data
Short-Term (Month 1)
- Purchase industrial mini PC for testing
- Build complete customer container template
- Create customer onboarding checklist
- Identify 3-5 potential pilot customers
- Prepare pricing and proposal templates
Medium-Term (Month 2-3)
- Onboard first pilot customer
- Document complete deployment process
- Refine templates based on pilot feedback
- Build customer self-service portal
- Begin marketing to reach next 4 customers
Last Updated: December 2025