Files
arr-suite-template-bootstrap/README.md
openhands 24f2cd64e9 Initial template repository
🎬 ARR Suite Template Bootstrap - Complete Media Automation Stack

Features:
- 16 production services (Prowlarr, Sonarr, Radarr, Plex, etc.)
- One-command Ansible deployment
- VPN-protected downloads via Gluetun
- Tailscale secure access
- Production-ready security (UFW, Fail2Ban)
- Automated backups and monitoring
- Comprehensive documentation

Ready for customization and deployment to any VPS.

Co-authored-by: openhands <openhands@all-hands.dev>
2025-11-28 04:26:12 +00:00

6.4 KiB

🎬 ARR Suite Template Bootstrap

Complete Media Automation Stack Template - Production-ready Ansible deployment for VPS

License: MIT Ansible Docker Ubuntu

🚀 One-Command Media Server Deployment

Deploy a complete, production-ready media automation stack to your VPS in 15-30 minutes with a single Ansible command.

🎯 What You Get

📦 16 Production Services
├── 🔍 Prowlarr      - Indexer management
├── 📺 Sonarr        - TV show automation  
├── 🎬 Radarr        - Movie automation
├── 🎵 Lidarr        - Music automation
├── 🔞 Whisparr      - Adult content (optional)
├── 📝 Bazarr        - Subtitle automation
├── 🎭 Jellyseerr    - Request management
├── 📥 SABnzbd       - Usenet downloader
├── 🌊 Deluge        - Torrent downloader  
├── 🎪 Plex          - Media server
├── 📊 Tautulli      - Analytics
├── 🔒 Gluetun       - VPN protection
├── 🛡️ Fail2Ban      - Security
├── 🔥 UFW           - Firewall
├── 🌐 Tailscale     - Remote access
└── 📈 Monitoring    - Health checks

Quick Start

Prerequisites

  • Ubuntu 20.04+ VPS with 4GB+ RAM
  • SSH access with sudo privileges
  • Domain name (optional but recommended)

1. Clone & Configure

git clone <this-repo> arr-suite
cd arr-suite

# Configure your VPS details
nano inventory/production.yml

# Set up your secrets
cp group_vars/all/vault.yml.example group_vars/all/vault.yml
ansible-vault encrypt group_vars/all/vault.yml
ansible-vault edit group_vars/all/vault.yml

2. Deploy Everything

# One command deployment
ansible-playbook -i inventory/production.yml ansible-deployment.yml

# Or use the helper script
./deploy.sh

3. Access Your Services

🌐 Web Interfaces (after deployment):
├── Prowlarr:    http://your-vps:9696
├── Sonarr:      http://your-vps:8989
├── Radarr:      http://your-vps:7878
├── Lidarr:      http://your-vps:8686
├── Bazarr:      http://your-vps:6767
├── Jellyseerr:  http://your-vps:5055
├── SABnzbd:     http://your-vps:8080
├── Deluge:      http://your-vps:8112
├── Plex:        http://your-vps:32400
└── Tautulli:    http://your-vps:8181

🔧 Configuration Guide

Required Configuration

  1. VPS Details (inventory/production.yml):
ansible_host: YOUR_VPS_IP_ADDRESS
ansible_user: root
ansible_ssh_private_key_file: ~/.ssh/your_private_key
  1. VPN Credentials (group_vars/all/vault.yml):
vault_vpn_provider: "nordvpn"  # or surfshark, expressvpn
vault_vpn_username: "your_vpn_username"
vault_vpn_password: "your_vpn_password"
  1. Optional Services (ansible-deployment.yml):
# Enable/disable services
enable_whisparr: false      # Adult content
enable_tailscale: true      # Remote access
enable_plex_claim: false    # Auto Plex setup

VPN Providers Supported

  • NordVPN
  • Surfshark
  • ExpressVPN
  • ProtonVPN
  • CyberGhost
  • Private Internet Access
  • Mullvad

📚 Documentation

🛡️ Security Features

  • 🔒 VPN Protection - All downloads through encrypted VPN
  • 🛡️ Firewall - UFW with minimal open ports
  • 🚫 Intrusion Prevention - Fail2Ban protection
  • 🔐 Encrypted Secrets - Ansible Vault for credentials
  • 🌐 Secure Access - Tailscale mesh networking
  • 🔄 Auto Updates - Security patches automated

🎯 Production Ready

Tested on Ubuntu 22.04
Resource optimized (4GB RAM minimum)
High availability with health checks
Automated backups with encryption
Monitoring & alerts included
SSL/TLS ready for domain setup

🚀 Deployment Options

ansible-playbook -i inventory/production.yml ansible-deployment.yml

Option 2: Manual Bootstrap

./bootstrap.sh  # Prepare VPS
docker-compose -f compose/docker-compose-vpn.yml up -d

Option 3: Custom Services

# Deploy only specific services
ansible-playbook -i inventory/production.yml ansible-deployment.yml --tags "sonarr,radarr,plex"

🔧 Customization

Add Your Own Services

  1. Create service definition in compose/
  2. Add configuration in templates/
  3. Update ansible-deployment.yml

Custom Domains

# In group_vars/all/vault.yml
vault_domain: "yourdomain.com"
vault_ssl_email: "you@yourdomain.com"

Resource Limits

# Adjust in ansible-deployment.yml
docker_memory_limit: "2g"
docker_cpu_limit: "1.0"

📊 System Requirements

Component Minimum Recommended
RAM 4GB 8GB+
Storage 50GB 500GB+
CPU 2 cores 4+ cores
Network 100Mbps 1Gbps
OS Ubuntu 20.04 Ubuntu 22.04

🆘 Support & Community

  • 📖 Documentation: Check docs/ directory
  • 🐛 Issues: Open GitHub issues for bugs
  • 💬 Discussions: Use GitHub Discussions for questions
  • 🔧 Troubleshooting: See docs/TROUBLESHOOTING.md

📝 License

MIT License - see LICENSE file for details.

🙏 Credits

Built with ❤️ using:


Star this repo if it helped you build an awesome media server!

Note

: This is a template repository. Customize the configuration files with your own settings before deployment.