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>
This commit is contained in:
104
templates/configure_bazarr.sh.j2
Normal file
104
templates/configure_bazarr.sh.j2
Normal file
@@ -0,0 +1,104 @@
|
||||
#!/bin/bash
|
||||
# Configure Bazarr Connections
|
||||
|
||||
echo "🔧 Configuring Bazarr connections..."
|
||||
|
||||
# Create Bazarr configuration directory if it doesn't exist
|
||||
mkdir -p /config/config
|
||||
|
||||
# Configure Sonarr connection in Bazarr
|
||||
cat > /tmp/sonarr_config.py << 'EOF'
|
||||
import sqlite3
|
||||
import json
|
||||
|
||||
# Connect to Bazarr database
|
||||
conn = sqlite3.connect('/config/db/bazarr.db')
|
||||
cursor = conn.cursor()
|
||||
|
||||
# Update Sonarr settings
|
||||
sonarr_settings = {
|
||||
'ip': 'sonarr',
|
||||
'port': 8989,
|
||||
'base_url': '',
|
||||
'ssl': False,
|
||||
'apikey': '{{ api_keys.sonarr }}',
|
||||
'full_update': 'Daily',
|
||||
'only_monitored': False,
|
||||
'series_sync': 60,
|
||||
'episodes_sync': 60
|
||||
}
|
||||
|
||||
# Insert or update Sonarr settings
|
||||
for key, value in sonarr_settings.items():
|
||||
cursor.execute(
|
||||
"INSERT OR REPLACE INTO table_settings_sonarr (key, value) VALUES (?, ?)",
|
||||
(key, json.dumps(value) if isinstance(value, (dict, list)) else str(value))
|
||||
)
|
||||
|
||||
conn.commit()
|
||||
conn.close()
|
||||
print("✅ Sonarr configuration updated in Bazarr")
|
||||
EOF
|
||||
|
||||
# Configure Radarr connection in Bazarr
|
||||
cat > /tmp/radarr_config.py << 'EOF'
|
||||
import sqlite3
|
||||
import json
|
||||
|
||||
# Connect to Bazarr database
|
||||
conn = sqlite3.connect('/config/db/bazarr.db')
|
||||
cursor = conn.cursor()
|
||||
|
||||
# Update Radarr settings
|
||||
radarr_settings = {
|
||||
'ip': 'radarr',
|
||||
'port': 7878,
|
||||
'base_url': '',
|
||||
'ssl': False,
|
||||
'apikey': '{{ api_keys.radarr }}',
|
||||
'full_update': 'Daily',
|
||||
'only_monitored': False,
|
||||
'movies_sync': 60
|
||||
}
|
||||
|
||||
# Insert or update Radarr settings
|
||||
for key, value in radarr_settings.items():
|
||||
cursor.execute(
|
||||
"INSERT OR REPLACE INTO table_settings_radarr (key, value) VALUES (?, ?)",
|
||||
(key, json.dumps(value) if isinstance(value, (dict, list)) else str(value))
|
||||
)
|
||||
|
||||
conn.commit()
|
||||
conn.close()
|
||||
print("✅ Radarr configuration updated in Bazarr")
|
||||
EOF
|
||||
|
||||
# Run the configuration scripts if Python is available
|
||||
if command -v python3 >/dev/null 2>&1; then
|
||||
python3 /tmp/sonarr_config.py 2>/dev/null || echo "⚠️ Sonarr config update failed - configure manually"
|
||||
python3 /tmp/radarr_config.py 2>/dev/null || echo "⚠️ Radarr config update failed - configure manually"
|
||||
else
|
||||
echo "⚠️ Python not available - configure Bazarr manually via web interface"
|
||||
fi
|
||||
|
||||
# Enable Sonarr and Radarr in Bazarr settings
|
||||
cat > /tmp/enable_services.py << 'EOF'
|
||||
import sqlite3
|
||||
|
||||
conn = sqlite3.connect('/config/db/bazarr.db')
|
||||
cursor = conn.cursor()
|
||||
|
||||
# Enable Sonarr and Radarr
|
||||
cursor.execute("INSERT OR REPLACE INTO table_settings_general (key, value) VALUES ('use_sonarr', 'True')")
|
||||
cursor.execute("INSERT OR REPLACE INTO table_settings_general (key, value) VALUES ('use_radarr', 'True')")
|
||||
|
||||
conn.commit()
|
||||
conn.close()
|
||||
print("✅ Sonarr and Radarr enabled in Bazarr")
|
||||
EOF
|
||||
|
||||
if command -v python3 >/dev/null 2>&1; then
|
||||
python3 /tmp/enable_services.py 2>/dev/null || echo "⚠️ Service enabling failed"
|
||||
fi
|
||||
|
||||
echo "✅ Bazarr configuration complete!"
|
||||
Reference in New Issue
Block a user