4.3 KiB
4.3 KiB
VIP Coordinator - Simple Digital Ocean Deployment
This is a streamlined deployment script designed specifically for clean Digital Ocean Docker droplets.
🚀 Quick Start
-
Upload the script to your Digital Ocean droplet:
wget https://raw.githubusercontent.com/your-repo/vip-coordinator/main/simple-deploy.sh chmod +x simple-deploy.sh -
Run the deployment:
./simple-deploy.sh -
Follow the prompts to configure:
- Your domain name (e.g.,
mysite.com) - API subdomain (e.g.,
api.mysite.com) - Email for SSL certificates
- Google OAuth credentials
- SSL certificate setup (optional)
- Your domain name (e.g.,
📋 What It Does
✅ Automatic Setup
- Creates Docker Compose configuration using v2 syntax
- Generates secure random passwords
- Sets up environment variables
- Creates management scripts
✅ SSL Certificate Automation (Optional)
- Uses official certbot Docker container
- Webroot validation method
- Generates nginx SSL configuration
- Sets up automatic renewal script
✅ Generated Files
.env- Environment configurationdocker-compose.yml- Docker servicesstart.sh- Start the applicationstop.sh- Stop the applicationstatus.sh- Check application statusnginx-ssl.conf- SSL nginx configuration (if SSL enabled)renew-ssl.sh- Certificate renewal script (if SSL enabled)
🔧 Requirements
Digital Ocean Droplet
- Ubuntu 20.04+ or similar
- Docker and Docker Compose v2 installed
- Ports 80, 443, and 3000 open
Domain Setup
- Domain pointing to your droplet IP
- API subdomain pointing to your droplet IP
- DNS propagated (check with
nslookup yourdomain.com)
Google OAuth
- Google Cloud Console project
- OAuth 2.0 Client ID and Secret
- Redirect URI configured
🌐 Access URLs
After deployment:
- Frontend:
https://yourdomain.com(orhttp://if no SSL) - Backend API:
https://api.yourdomain.com(orhttp://if no SSL)
🔒 SSL Certificate Setup
If you choose SSL during setup:
-
Automatic Generation: Uses Let's Encrypt with certbot Docker
-
Nginx Configuration: Generated automatically
-
Manual Steps:
# Install nginx apt update && apt install nginx # Copy SSL configuration cp nginx-ssl.conf /etc/nginx/sites-available/vip-coordinator ln -s /etc/nginx/sites-available/vip-coordinator /etc/nginx/sites-enabled/ rm /etc/nginx/sites-enabled/default # Test and restart nginx -t systemctl restart nginx -
Auto-Renewal: Set up cron job
echo "0 3 1 * * $(pwd)/renew-ssl.sh" | crontab -
🛠️ Management Commands
# Start the application
./start.sh
# Stop the application
./stop.sh
# Check status
./status.sh
# View logs
docker compose logs -f
# Update to latest version
docker compose pull
docker compose up -d
🔑 Important Credentials
The script generates and displays:
- Admin Password: For emergency access
- Database Password: For PostgreSQL
- Keep these secure!
🎯 First Time Login
- Open your frontend URL
- Click "Continue with Google"
- The first user becomes the administrator
- Use the admin password if needed
🐛 Troubleshooting
Port Conflicts
- Uses standard ports (80, 443, 3000)
- Ensure no other services are running on these ports
SSL Issues
- Verify domain DNS is pointing to your server
- Check firewall allows ports 80 and 443
- Ensure no other web server is running
Docker Issues
# Check Docker version (should be v2)
docker compose version
# Check container status
docker compose ps
# View logs
docker compose logs backend
docker compose logs frontend
OAuth Issues
- Verify redirect URI in Google Console matches exactly
- Check Client ID and Secret are correct
- Ensure domain is accessible from internet
📞 Support
If you encounter issues:
- Check
./status.shfor service health - Review logs with
docker compose logs - Verify domain DNS resolution
- Ensure all ports are accessible
🎉 Success!
Your VIP Coordinator should now be running with:
- ✅ Google OAuth authentication
- ✅ Mobile-friendly interface
- ✅ Real-time scheduling
- ✅ User management
- ✅ SSL encryption (if enabled)
- ✅ Automatic updates from Docker Hub
Perfect for Digital Ocean droplet deployments!