# SurfSmart Deployment Guide for CentOS 9 Stream [demo](surfsmart.tech) ## Prerequisites - Fresh CentOS 9 Stream installation - Root or sudo access - Domain name pointed to your server (optional, for production) ## Step 1: System Update and Basic Tools ```bash # Update system sudo dnf update -y # Install development tools sudo dnf groupinstall "Development Tools" -y sudo dnf install -y wget curl git nano vim # Install Python 3.10 and pip sudo dnf install -y python3.10 python3.10-devel python3.10-pip # Create Python alias sudo alternatives --set python3 /usr/bin/python3.10 # Install Node.js 18.x (for React frontend) curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - sudo dnf install -y nodejs # Install Redis (for Celery) sudo dnf install -y redis sudo systemctl enable redis sudo systemctl start redis # Install Nginx (web server) sudo dnf install -y nginx sudo systemctl enable nginx ``` ## Step 2: MongoDB Setup ### Option A: Use MongoDB Atlas (Recommended) 1. Create a free account at https://www.mongodb.com/cloud/atlas 2. Create a cluster 3. Get your connection string 4. Whitelist your server's IP address ### Option B: Install MongoDB Locally ```bash # Create MongoDB repo file sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <