Skip to main content

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)

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

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

  • ext4: Widely supported, reliable
  • xfs: Good for large files
  • btrfs: Advanced features (snapshots)
  • 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 docker group, 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