# RobloxDownloads.com - Production Deployment Runbook

## 1. Server Architecture & Specifications
- **Server Alias / Host**: `giawon-ai` (`business903.web-hosting.com`)
- **System User**: `giawvaqj`
- **Document Root**: `/home/giawvaqj/robloxdownloads.com`
- **Public IP Address**: `209.74.67.79`
- **Web Server Stack**: LiteSpeed Web Server + Phusion Passenger (CloudLinux LVE)
- **Node.js Engine**: Node.js 22.23.4 (`/opt/alt/alt-nodejs22/root/usr/bin/node`)
- **Node Virtualenv**: `/home/giawvaqj/nodevenv/robloxdownloads.com/.next/standalone/22/bin/activate`
- **Standalone App Root**: `/home/giawvaqj/robloxdownloads.com/.next/standalone`
- **Startup File**: `server.js`
- **Passenger Log**: `/home/giawvaqj/robloxdownloads.com/passenger.log`
- **Deployment Log**: `/home/giawvaqj/robloxdownloads.com/deploy.log`

---

## 2. Server Configuration Files

### `.htaccess` in `/home/giawvaqj/robloxdownloads.com/.htaccess`:
```apache
<IfModule LiteSpeed>
CacheLookup off
</IfModule>
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION BEGIN
PassengerAppRoot "/home/giawvaqj/robloxdownloads.com/.next/standalone"
PassengerBaseURI "/"
PassengerNodejs "/home/giawvaqj/nodevenv/robloxdownloads.com/.next/standalone/22/bin/node"
PassengerAppType node
PassengerStartupFile server.js
PassengerAppLogFile "/home/giawvaqj/robloxdownloads.com/passenger.log"
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION END
```

---

## 3. Server-Side Maintenance Scripts
- `/home/giawvaqj/deploy_robloxdownloads.sh` (or `/home/giawvaqj/robloxdownloads.com/deploy.sh`):
  Executes application reload and runs automated curl health-checks across core endpoints (`/`, `/help/`, `/download/windows/`, `/codes/`, `/sitemap.xml`, `/robots.txt`).

---

## 4. Local Automation Script
- `scripts/deploy-remote.sh`:
  Single-command automated pipeline that builds standalone assets locally, syncs to server via rsync, and reloads Passenger without manual intervention.
