Software Requirements
Host Operating System
Supported Operating Systems
Chatty AI can run on any OS that supports Docker:
Linux (Recommended):
- Ubuntu 20.04 LTS or later
- Debian 11 or later
- CentOS 8 / Rocky Linux 8 or later
- Red Hat Enterprise Linux 8 or later
- Amazon Linux 2
Other Platforms:
- macOS (for development only)
- Windows Server with WSL2 (not recommended for production)
Recommended OS
Ubuntu 22.04 LTS is recommended for production deployments due to:
- Long-term support
- Wide Docker compatibility
- Extensive documentation
- Large community support
Docker Requirements
Docker Engine
Required Version: Docker Engine 20.10 or later
Recommended Version: Docker Engine 24.0 or later
Installation:
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Verify installation
docker --version
Docker Compose
Required Version: Docker Compose 2.0 or later
Recommended Version: Docker Compose 2.20 or later
Installation:
# Docker Compose V2 (plugin)
sudo apt-get update
sudo apt-get install docker-compose-plugin
# Verify installation
docker compose version
Note: Docker Compose V2 is now integrated as a Docker plugin. Use docker compose (not docker-compose).
Portainer Requirements (for Portainer Deployment)
Portainer Server
If using Portainer deployment method:
Required Version: Portainer Business/Enterprise 2.18 or later
Recommended Version: Portainer Business/Enterprise 2.19 or later
Deployment: Can be vendor-managed or customer-managed
Portainer Edge Agent
Required Version: Compatible with Portainer Server version
Installation: Provided by Portainer Server during environment setup
Browser Requirements (for Administrators and Users)
Supported Browsers
Recommended:
- Google Chrome 100+
- Microsoft Edge 100+
- Mozilla Firefox 100+
- Safari 15+ (macOS)
Minimum:
- Any modern browser with JavaScript enabled
- WebSocket support required
- Cookies enabled
Browser Features Required
- JavaScript enabled
- WebSocket support
- LocalStorage support
- Modern CSS support
- File upload capability
Time Synchronization
NTP Requirement
Required: Host system must have accurate time synchronization
Why: Critical for:
- TLS certificate validation
- Log correlation
- Token expiration
- Session management
- Distributed system coordination
Setup:
# Ubuntu/Debian
sudo apt-get install ntp
sudo systemctl enable ntp
sudo systemctl start ntp
# Verify
timedatectl status
Network Requirements
DNS Resolution
- Functional DNS resolution
- Ability to resolve external domains (for LLM endpoints)
- Internal DNS for service domains
Firewall
- Firewall software compatible with Docker
- Ability to configure port forwarding
- Ability to allow outbound HTTPS
Connectivity
- Stable internet connection
- Bandwidth: See Hardware Requirements
- Low latency to LLM endpoints
SSL/TLS Certificates
Certificate Requirements
- Valid SSL/TLS certificates for all exposed domains
- PEM format (fullchain.pem and privkey.pem)
- Not expired
- Matches domain names
Certificate Sources
Supported certificate types:
- Let's Encrypt (free)
- Commercial CA certificates
- Internal CA certificates
- Self-signed (development only)
Optional Software
Monitoring Tools
Recommended for production:
- Prometheus (metrics)
- Grafana (visualization)
- ELK Stack (log aggregation)
- Uptime monitoring
Backup Tools
Recommended:
- Automated backup scripts
- Off-site backup storage
- Backup verification tools
Security Tools
Recommended:
- Fail2ban (intrusion prevention)
- UFW or iptables (firewall)
- ClamAV (antivirus)
- Auditd (audit logging)
Python Requirements (for Helper Scripts)
Some optional helper scripts may require:
Python Version: 3.8 or later
Installation:
sudo apt-get install python3 python3-pip
Git (Optional)
For version control of configuration:
Version: Git 2.0 or later
Installation:
sudo apt-get install git
System Libraries
Required Libraries
Usually pre-installed on modern Linux:
- libssl (OpenSSL)
- ca-certificates
- curl
- gnupg
Installation
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
Kernel Requirements
Linux Kernel
Minimum: Linux kernel 3.10 or later
Recommended: Linux kernel 5.4 or later
Check version:
uname -r
Kernel Modules
Required kernel modules (usually enabled by default):
- overlay
- br_netfilter
- ip_tables
- iptable_nat
Storage Filesystem
Recommended Filesystems
- ext4: Widely supported, reliable
- xfs: Good for large files
- btrfs: Advanced features (snapshots)
Not Recommended
- NFS: Can cause issues with Docker volumes
- CIFS/SMB: Not recommended for Docker storage
User Permissions
Docker Access
User running Docker commands must:
- Be in
dockergroup, OR - Have sudo access
Add user to docker group:
sudo usermod -aG docker $USER
# Log out and back in for changes to take effect
Resource Limits
System Limits
Ensure adequate system limits:
# Check current limits
ulimit -a
# Recommended settings in /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 32768
* hard nproc 32768
Docker Daemon Configuration
Recommended Docker daemon settings in /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2"
}
Verification Checklist
Before deploying Chatty AI, verify:
- Supported OS installed
- Docker Engine 20.10+ installed
- Docker Compose 2.0+ installed
- Portainer available (if using Portainer deployment)
- Modern browser available
- NTP configured and running
- DNS resolution working
- Internet connectivity available
- SSL certificates obtained
- User has Docker permissions
- System limits configured
- Adequate disk space available
Cross-Reference
- See Hardware Requirements for hardware specifications
- See Storage Requirements for storage details
- See Prerequisites for pre-deployment checks