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:
77
templates/.env.j2
Normal file
77
templates/.env.j2
Normal file
@@ -0,0 +1,77 @@
|
||||
# Environment Configuration for *arr Stack
|
||||
# Generated by Ansible - Do not edit manually
|
||||
|
||||
# System Configuration
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
TZ=UTC
|
||||
UMASK=022
|
||||
|
||||
# Network Configuration
|
||||
TAILSCALE_IP={{ tailscale_ip }}
|
||||
BIND_TO_TAILSCALE={{ bind_to_tailscale_only | default(true) }}
|
||||
|
||||
# VPN Configuration
|
||||
VPN_PROVIDER={{ vpn_provider }}
|
||||
VPN_USERNAME={{ vpn_username }}
|
||||
VPN_PASSWORD={{ vpn_password }}
|
||||
VPN_SERVER_REGIONS=United States
|
||||
|
||||
# Service Ports
|
||||
PROWLARR_PORT={{ services.prowlarr }}
|
||||
SONARR_PORT={{ services.sonarr }}
|
||||
RADARR_PORT={{ services.radarr }}
|
||||
LIDARR_PORT={{ services.lidarr }}
|
||||
WHISPARR_PORT={{ services.whisparr }}
|
||||
BAZARR_PORT={{ services.bazarr }}
|
||||
JELLYSEERR_PORT={{ services.jellyseerr }}
|
||||
SABNZBD_PORT={{ services.sabnzbd }}
|
||||
DELUGE_PORT={{ services.deluge }}
|
||||
PLEX_PORT={{ services.plex }}
|
||||
TAUTULLI_PORT={{ services.tautulli }}
|
||||
|
||||
# API Keys (Generated during deployment)
|
||||
PROWLARR_API_KEY={{ api_keys.prowlarr }}
|
||||
SONARR_API_KEY={{ api_keys.sonarr }}
|
||||
RADARR_API_KEY={{ api_keys.radarr }}
|
||||
LIDARR_API_KEY={{ api_keys.lidarr }}
|
||||
WHISPARR_API_KEY={{ api_keys.whisparr }}
|
||||
BAZARR_API_KEY={{ api_keys.bazarr }}
|
||||
JELLYSEERR_API_KEY={{ api_keys.jellyseerr }}
|
||||
SABNZBD_API_KEY={{ api_keys.sabnzbd }}
|
||||
|
||||
# Directory Paths
|
||||
DOCKER_ROOT={{ base_path }}
|
||||
MEDIA_ROOT={{ base_path }}/media
|
||||
DOWNLOADS_ROOT={{ base_path }}/downloads
|
||||
|
||||
# Security Settings
|
||||
ENABLE_FAIL2BAN={{ enable_fail2ban | default(true) }}
|
||||
ENABLE_FIREWALL={{ enable_firewall | default(true) }}
|
||||
ENABLE_AUTO_UPDATES={{ enable_auto_updates | default(true) }}
|
||||
|
||||
# Backup Configuration
|
||||
BACKUP_ENABLED={{ backup_enabled | default(true) }}
|
||||
BACKUP_RETENTION_DAYS={{ backup_retention_days | default(30) }}
|
||||
BACKUP_SCHEDULE={{ backup_schedule | default('0 2 * * *') }}
|
||||
|
||||
# Monitoring
|
||||
ENABLE_MONITORING={{ enable_monitoring | default(true) }}
|
||||
HEALTH_CHECK_INTERVAL={{ health_check_interval | default(300) }}
|
||||
|
||||
# Plex Configuration
|
||||
PLEX_CLAIM={{ plex_claim | default('') }}
|
||||
PLEX_ADVERTISE_IP={{ ansible_default_ipv4.address }}
|
||||
|
||||
# Resource Limits
|
||||
MEMORY_LIMIT_SONARR={{ memory_limits.sonarr | default('1g') }}
|
||||
MEMORY_LIMIT_RADARR={{ memory_limits.radarr | default('1g') }}
|
||||
MEMORY_LIMIT_LIDARR={{ memory_limits.lidarr | default('512m') }}
|
||||
MEMORY_LIMIT_PROWLARR={{ memory_limits.prowlarr | default('512m') }}
|
||||
MEMORY_LIMIT_BAZARR={{ memory_limits.bazarr | default('256m') }}
|
||||
MEMORY_LIMIT_JELLYSEERR={{ memory_limits.jellyseerr | default('512m') }}
|
||||
MEMORY_LIMIT_SABNZBD={{ memory_limits.sabnzbd | default('1g') }}
|
||||
MEMORY_LIMIT_DELUGE={{ memory_limits.deluge | default('512m') }}
|
||||
MEMORY_LIMIT_PLEX={{ memory_limits.plex | default('4g') }}
|
||||
MEMORY_LIMIT_TAUTULLI={{ memory_limits.tautulli | default('256m') }}
|
||||
MEMORY_LIMIT_GLUETUN={{ memory_limits.gluetun | default('256m') }}
|
||||
Reference in New Issue
Block a user