Prerequisites¶
Before installing Studio Platform, ensure your system meets the following requirements and dependencies.
🖥️ System Requirements¶
Minimum Requirements¶
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 4 cores | 8+ cores |
| Memory | 8 GB RAM | 16+ GB RAM |
| Storage | 50 GB free SSD | 100+ GB free SSD |
| Network | 100 Mbps | 1+ Gbps |
| Operating System | Ubuntu 20.04+ / CentOS 8+ / Windows 10+ | Ubuntu 22.04 LTS |
Hardware Considerations¶
CPU Requirements¶
- 4 cores minimum for basic operations
- 8+ cores recommended for:
- Large team deployments (50+ users)
- Heavy AI processing workloads
- Multiple concurrent compliance scans
Memory Requirements¶
- 8 GB RAM minimum for small teams (< 10 users)
- 16 GB RAM recommended for:
- Medium teams (10-50 users)
- Heavy document processing
- Concurrent AI operations
Storage Requirements¶
- 50 GB SSD minimum for basic installation
- 100 GB SSD recommended for:
- Large document libraries
- Extended log retention
- Multiple compliance frameworks
🐳 Software Dependencies¶
Docker Requirements¶
Docker Engine¶
Docker Compose¶
Installation Commands¶
Ubuntu/Debian¶
# Update package index
sudo apt update
# Install prerequisites
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release \
git \
wget
# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Add user to docker group
sudo usermod -aG docker $USER
newgrp docker
CentOS/RHEL¶
# Install prerequisites
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Install Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Start and enable Docker
sudo systemctl start docker
sudo systemctl enable docker
# Add user to docker group
sudo usermod -aG docker $USER
Windows¶
# Download and install Docker Desktop
# Visit: https://www.docker.com/products/docker-desktop
# Verify installation
docker --version
docker-compose --version
macOS¶
# Install Homebrew (if not installed)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Docker Desktop
brew install --cask docker
# Start Docker Desktop and verify
docker --version
docker-compose --version
🔧 Additional Tools¶
Required Tools¶
Git¶
# Verify Git installation
git --version
# Required: 2.0 or higher
# Install if needed
# Ubuntu/Debian: sudo apt install git
# CentOS/RHEL: sudo yum install git
# macOS: brew install git
Text Editor¶
Recommended editors for configuration: - Visual Studio Code (recommended) - Sublime Text - Vim/Neovim - Nano
OpenSSL (for SSL certificates)¶
# Verify OpenSSL
openssl version
# Install if needed
# Ubuntu/Debian: sudo apt install openssl
# CentOS/RHEL: sudo yum install openssl
# macOS: brew install openssl
Optional Tools¶
Monitoring Tools¶
# System monitoring
htop # Process monitoring
iotop # I/O monitoring
nethogs # Network monitoring
# Docker monitoring
docker stats # Container resource usage
Network Tools¶
# Network diagnostics
curl # HTTP requests
wget # File downloads
ping # Network connectivity
nslookup # DNS queries
🌐 Network Requirements¶
Port Requirements¶
| Port | Protocol | Purpose | Required |
|---|---|---|---|
| 80 | HTTP | Web access (redirect) | Production |
| 443 | HTTPS | Web access (secure) | Production |
| 8000 | HTTP | Development server | Development |
| 5432 | TCP | PostgreSQL (internal) | Internal |
| 6379 | TCP | Redis (internal) | Internal |
| 7687 | TCP | Neo4j (internal) | Internal |
| 9000 | HTTP | MinIO console (internal) | Internal |
Firewall Configuration¶
Ubuntu (UFW)¶
# Allow essential ports
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
# Enable firewall
sudo ufw enable
# Check status
sudo ufw status
CentOS (firewalld)¶
# Allow essential ports
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# Reload firewall
sudo firewall-cmd --reload
# Check status
sudo firewall-cmd --list-all
Windows Firewall¶
# Allow essential ports through Windows Firewall
New-NetFirewallRule -DisplayName "HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Internet Connectivity¶
Studio Platform requires outbound internet access for:
AI Services¶
- Google Gemini API - AI assistant functionality
- Cloudflare AI Gateway - API management (optional)
Security Services¶
- FleetDM updates - Agent management
- Prowler updates - Cloud scanning rules
- Security feed updates - Threat intelligence
Container Updates¶
- Docker Hub - Container image downloads
- Package repositories - Dependency updates
DNS Requirements¶
Ensure your system can resolve: - docker.io - Docker registry - github.com - Source code repository - googleapis.com - Google AI services - prowler.com - Security scanner updates
🔒 Security Requirements¶
System Security¶
User Permissions¶
- Non-root user for Docker operations
- Sudo access for system configuration
- Docker group membership for container management
File Permissions¶
# Set appropriate permissions for Studio directory
chmod 755 /path/to/studio
chown $USER:$USER /path/to/studio
SSL/TLS Certificates¶
Development¶
- Self-signed certificates (acceptable)
- Generated automatically by setup scripts
Production¶
- Let's Encrypt (recommended)
- Commercial certificates (acceptable)
- Cloudflare SSL (recommended for cloud deployments)
Environment Security¶
Secret Management¶
- Strong passwords for all services
- Environment variables for sensitive data
- No hardcoded secrets in configuration files
Network Security¶
- Firewall rules configured
- VPN access (recommended for admin)
- Intrusion detection (recommended)
📊 Performance Considerations¶
Database Performance¶
PostgreSQL Optimization¶
# Recommended PostgreSQL settings for production
shared_buffers = 256MB
effective_cache_size = 1GB
work_mem = 4MB
maintenance_work_mem = 64MB
Neo4j Optimization¶
# Recommended Neo4j settings
dbms.memory.heap.initial_size=512m
dbms.memory.heap.max_size=2G
dbms.memory.pagecache.size=1G
Container Resource Limits¶
Memory Allocation¶
# Example docker-compose.yml resource limits
services:
backend:
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 1G
CPU Allocation¶
# CPU limits for optimal performance
services:
backend:
deploy:
resources:
limits:
cpus: '2.0'
reservations:
cpus: '1.0'
🐛 Common Prerequisite Issues¶
Docker Issues¶
Permission Denied¶
# Error: permission denied while trying to connect to Docker daemon
# Solution: Add user to docker group
sudo usermod -aG docker $USER
newgrp docker
Docker Service Not Running¶
# Start Docker service
sudo systemctl start docker
sudo systemctl enable docker
# Check status
sudo systemctl status docker
Port Conflicts¶
# Check if ports are in use
sudo netstat -tulpn | grep :80
sudo netstat -tulpn | grep :443
# Kill processes using ports
sudo kill -9 <PID>
Network Issues¶
DNS Resolution¶
# Test DNS resolution
nslookup google.com
dig google.com
# Check /etc/resolv.conf
cat /etc/resolv.conf
Firewall Blocking¶
# Temporarily disable firewall for testing
sudo ufw disable
# Test connectivity
# Re-enable firewall
sudo ufw enable
Resource Issues¶
Insufficient Memory¶
# Check available memory
free -h
# Check swap usage
swapon --show
# Add swap if needed
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Disk Space¶
✅ Prerequisites Checklist¶
System Requirements¶
- CPU: 4+ cores (8+ recommended)
- Memory: 8+ GB RAM (16+ recommended)
- Storage: 50+ GB SSD (100+ recommended)
- Network: 100+ Mbps (1+ Gbps recommended)
Software Dependencies¶
- Docker Engine 20.10+
- Docker Compose 2.0+
- Git 2.0+
- OpenSSL (for SSL)
- Text editor (VS Code recommended)
Network Configuration¶
- Ports 80, 443 open (production)
- Port 8000 open (development)
- Internet connectivity available
- DNS resolution working
- Firewall configured
Security Setup¶
- Non-root user configured
- Docker group membership
- SSH access configured
- SSL certificate plan (production)
Performance Optimization¶
- Resource limits defined
- Database optimization planned
- Monitoring tools ready
- Backup strategy planned
System Verification
Run the verification script to ensure all prerequisites are met:
Production Deployment
For production deployments, ensure you meet all recommended requirements and have proper security measures in place.
Need Help?
Check our Troubleshooting Guide if you encounter any prerequisite issues.