> How can you control your live broadcast graphics with cloud? SPX Graphics Controller can be deployed in cloud environments for remote production scenarios. This guide covers cloud deployment considerations and best practices. --- > [!TIP] Need help choosing a cloud option? [Contact us](https://spxgraphics.com/contact) and we will point you to the right setup. ## SPX Cloud SaaS For high performance broadcast or event production graphics, you can subscribe to our official [SPX Cloud](https://spxcloud.app) for a day, week, month, or more. **Features:** - Modern, global infrastructure - Secure connections - sFTP connectivity for managing assets - Perfect for remote production **Visit:** [spxcloud.app](https://spxcloud.app) to create your own instance with a **FREE TEST SESSION**. ## Self-Hosted Cloud Deployment ## Cloud Providers SPX can run on various cloud platforms: - **AWS** - EC2 instances, Elastic Beanstalk - **Azure** - Virtual Machines, App Services - **Google Cloud** - Compute Engine - **DigitalOcean** - Droplets - **Linode** - Instances - **Any VPS provider** ## Requirements - **Operating System**: Linux, Windows Server, or macOS - **Node.js**: v14 or later - **Resources**: - Minimum: 2GB RAM, 1 CPU core - Recommended: 4GB+ RAM, 2+ CPU cores - **Storage**: Sufficient space for [[Documentation/Graphic Templates/Overview|templates]], media, [[Documentation/Graphics Controller/Project Settings|projects]] ## Deployment Steps 1. **Provision Instance** - Choose appropriate instance size - Select operating system - Configure networking 2. **Install Dependencies** - Install Node.js - Install Git (if using source code) - Install pm2 (recommended) 3. **Deploy SPX** - Clone repository or upload files - Install dependencies (`npm i`) - Configure SPX 4. **Configure Networking** - Open required ports (default: 5656) - Configure firewall rules - Set up domain/DNS if needed 5. **Set Up HTTPS** - Obtain SSL certificate - Configure HTTPS (see [[Documentation/Control Interfaces/HTTPS|HTTPS Setup]]) - Update URLs 6. **Start SPX** - Use pm2 for process management - Configure auto-start - Set up monitoring ## Process Management Use pm2 for reliable operation: ```bash # Install pm2 npm install -g pm2 # Start SPX pm2 start server.js --name spx # Configure auto-start pm2 startup pm2 save ``` ## File Management ## sFTP Access For managing assets remotely: - Configure sFTP server - Set up user accounts - Secure file transfers ## Asset Synchronization - Use rsync for template synchronization - Set up automated backups - Consider cloud storage integration ## Network Configuration ## Firewall Rules - Allow inbound: 5656 (HTTP) or 443 (HTTPS) - Allow outbound: For [[Documentation/Renderer/Workflows/CasparCG - AMCP|CasparCG]], external APIs - Restrict access to trusted IPs when possible ## Load Balancing For high availability: - Use load balancer for multiple instances - Configure health checks - Set up failover ## Monitoring ## Logging - Configure log rotation - Set up log aggregation - Monitor error logs ## Performance - Monitor CPU and memory usage - Track network bandwidth - Set up alerts for issues ## Backup Strategy 1. **Regular Backups** - Dataroot folder (projects/rundowns) - [[Documentation/Server/Configurations|Config files]] - Custom templates 2. **Backup Storage** - Cloud storage (S3, Azure Blob, etc.) - Automated backup scripts - Retention policies 3. **Recovery Testing** - Test backup restoration - Document recovery procedures - Keep backups off-site ## Best Practices 1. **Security** - Enable authentication - Use HTTPS - Restrict network access - Regular security updates 2. **Performance** - Right-size instances - Use CDN for static assets - Optimize templates - Monitor resources 3. **Reliability** - Use process managers (pm2) - Set up auto-restart - Configure health checks - Plan for failover 4. **Cost Optimization** - Choose appropriate instance sizes - Use reserved instances for long-term - Monitor usage - Optimize storage ## Troubleshooting ## Connection Issues - Verify firewall rules - Check network configuration - Test from different locations - Review security groups ## Performance Issues - Monitor instance resources - Check network latency - Optimize templates - Consider scaling up ## Deployment Issues - Check logs for errors - Verify dependencies - Test locally first - Review configuration --- ## Read Next - [[Documentation/Control Interfaces/HTTPS|HTTPS Setup]] - Secure cloud connections - [[FAQ/Security|Security]] - Security best practices - [[FAQ/Troubleshooting|Troubleshooting]] - Cloud-specific issues - [[Documentation/Server/Installation|Server Installation]] - Detailed installation guide