# 🐧 VIP Coordinator - Ubuntu Installation Guide Deploy VIP Coordinator on Ubuntu in just a few commands! ## Prerequisites First, ensure Docker and Docker Compose are installed on your Ubuntu system: ```bash # Update package index sudo apt update # Install Docker sudo apt install -y docker.io # Install Docker Compose sudo apt install -y docker-compose # Add your user to docker group (to run docker without sudo) sudo usermod -aG docker $USER # Log out and back in, or run: newgrp docker # Verify installation docker --version docker-compose --version ``` ## Quick Install (One Command) ```bash # Download and run the interactive setup script curl -sSL https://raw.githubusercontent.com/your-repo/vip-coordinator/main/setup.sh | bash ``` ## Manual Installation If you prefer to download and inspect the script first: ```bash # Create a directory for VIP Coordinator mkdir vip-coordinator cd vip-coordinator # Download the setup script wget https://raw.githubusercontent.com/your-repo/vip-coordinator/main/setup.sh # Make it executable chmod +x setup.sh # Run the interactive setup ./setup.sh ``` ## What the Setup Script Does The script will interactively ask you for: 1. **Deployment Type**: Local development or production with custom domain 2. **Domain Configuration**: Your domain names (for production) 3. **Security**: Generates secure passwords or lets you set custom ones 4. **Google OAuth**: Your Google Cloud Console credentials 5. **Optional**: AviationStack API key for flight data Then it automatically generates: - ✅ `.env` - Your configuration file - ✅ `docker-compose.yml` - Docker services configuration - ✅ `start.sh` - Script to start VIP Coordinator - ✅ `stop.sh` - Script to stop VIP Coordinator - ✅ `update.sh` - Script to update to latest version - ✅ `README.md` - Your deployment documentation - ✅ `nginx.conf` - Production nginx config (if needed) ## After Setup Once the setup script completes: ```bash # Start VIP Coordinator ./start.sh # Check status docker-compose ps # View logs docker-compose logs # Stop when needed ./stop.sh ``` ## Access Your Application - **Local Development**: http://localhost - **Production**: https://your-domain.com ## Google OAuth Setup The script will guide you through setting up Google OAuth: 1. Go to [Google Cloud Console](https://console.cloud.google.com/) 2. Create a new project or select existing 3. Enable Google+ API 4. Create OAuth 2.0 Client ID credentials 5. Add the redirect URI provided by the script 6. Copy Client ID and Secret when prompted ## Ubuntu-Specific Notes ### Firewall Configuration If you're using UFW (Ubuntu's firewall): ```bash # For local development sudo ufw allow 80 sudo ufw allow 3000 # For production (if using nginx proxy) sudo ufw allow 80 sudo ufw allow 443 sudo ufw allow 22 # SSH access ``` ### Production Deployment on Ubuntu For production deployment, the script generates an nginx configuration. To use it: ```bash # Install nginx sudo apt install nginx # Copy the generated config sudo cp nginx.conf /etc/nginx/sites-available/vip-coordinator # Enable the site sudo ln -s /etc/nginx/sites-available/vip-coordinator /etc/nginx/sites-enabled/ # Remove default site sudo rm /etc/nginx/sites-enabled/default # Test nginx configuration sudo nginx -t # Restart nginx sudo systemctl restart nginx ``` ### SSL Certificates with Let's Encrypt ```bash # Install certbot sudo apt install certbot python3-certbot-nginx # Get certificates (replace with your domains) sudo certbot --nginx -d yourdomain.com -d api.yourdomain.com # Certbot will automatically update your nginx config for HTTPS ``` ### System Service (Optional) To run VIP Coordinator as a system service: ```bash # Create service file sudo tee /etc/systemd/system/vip-coordinator.service > /dev/null < backup.sql # Backup volumes docker run --rm -v vip-coordinator_postgres-data:/data -v $(pwd):/backup ubuntu tar czf /backup/postgres-backup.tar.gz /data ``` ## Support - 📖 Full documentation: [DEPLOYMENT.md](DEPLOYMENT.md) - 🐛 Issues: GitHub Issues - 💬 Community: GitHub Discussions --- **🎉 Your VIP Coordinator will be running on Ubuntu in under 5 minutes!**