/
/
/
This repo is destined for my server automations and setup.
1---
2# Storage Servers Group Variables
3# Applied to all servers in the storage_servers group
4
5# ==============================================================================
6# STORAGE DEFAULTS
7# ==============================================================================
8storage_enabled: true
9backup_enabled: true
10
11# ==============================================================================
12# RAID CONFIGURATION
13# ==============================================================================
14storage_raid_arrays:
15 - name: "md0"
16 device: "/dev/md0"
17 mount_point: "/mnt/rstorage"
18 filesystem: "ext4"
19
20# ==============================================================================
21# COMMON STORAGE CONFIGURATION
22# ==============================================================================
23# Standard storage paths
24storage_base_path: "/mnt/rstorage"
25storage_docker_dir: "/docker"
26
27# User/Group defaults (ansible:users for group sharing)
28storage_uid: 1000
29storage_gid: 100
30
31# ==============================================================================
32# DEFAULT SERVICE ENABLEMENT
33# ==============================================================================
34# Enable all services by default (disable in host_vars if not needed)
35jellyfin_enabled: true
36arr_stack_enabled: true
37arr_vpn_enabled: true
38calibre_enabled: true
39restic_backup_server_enabled: true
40
41# Individual Arr services
42sonarr_enabled: true
43radarr_enabled: true
44prowlarr_enabled: true
45lazylibrarian_enabled: true
46bazarr_enabled: true
47jellyseer_enabled: true
48flaresolverr_enabled: true
49qbittorrent_enabled: true
50gluetun_enabled: "{{ arr_vpn_enabled }}"
51
52# ==============================================================================
53# PERFORMANCE DEFAULTS
54# ==============================================================================
55# Conservative defaults - override based on hardware capacity
56default_memory_limit: "2g"
57default_cpu_limit: "2"
58
59# Jellyfin gets more resources (media transcoding intensive)
60jellyfin_memory_limit: "4g"
61jellyfin_cpu_limit: "4"
62
63# Arr stack typically lightweight
64arr_memory_limit: "1g"
65arr_cpu_limit: "1"
66
67# ==============================================================================
68# NETWORK CONFIGURATION
69# ==============================================================================
70storage_docker_network: "storage-network"
71
72# Health check settings
73health_check_enabled: true
74health_check_interval: "30s"
75health_check_timeout: "10s"
76health_check_retries: 3
77
78# ==============================================================================
79# BACKUP CONFIGURATION
80# ==============================================================================
81# System-level backup settings
82backup_retention_days: 90
83backup_schedule: "0 2 * * *" # 2 AM daily
84backup_path: "{{ storage_base_path }}/system-backups"
85
86# Service configuration backup
87backup_jellyfin_config: true
88backup_arr_configs: true
89backup_calibre_library: true
90
91# ==============================================================================
92# VPN DEFAULTS
93# ==============================================================================
94# Default VPN settings (credentials must be in vault)
95vpn_server_countries: "Netherlands,Switzerland"
96vpn_server_regions: "Europe"
97
98# ==============================================================================
99# SECURITY SETTINGS
100# ==============================================================================
101# System optimization for storage servers
102system_swappiness: 1 # Minimize swap usage
103
104# ==============================================================================
105# PORT ASSIGNMENTS
106# ==============================================================================
107# Standard ports - change in host_vars if conflicts exist
108jellyfin_host_port: 8096
109
110sonarr_host_port: 8989
111radarr_host_port: 7878
112prowlarr_host_port: 9696
113lazylibrarian_host_port: 5299
114
115restic_backup_host_port: 8000
116
117# ==============================================================================
118# DIRECTORY STRUCTURE
119# ==============================================================================
120# These will be created automatically
121media_directories:
122 - "{{ storage_base_path }}/media"
123 - "{{ storage_base_path }}/media/movies"
124 - "{{ storage_base_path }}/media/shows"
125 - "{{ storage_base_path }}/media/books"
126 - "{{ storage_base_path }}/downloads"
127 - "{{ storage_base_path }}/backups"
128
129# ==============================================================================
130# USAGE NOTES
131# ==============================================================================
132# This file provides sensible defaults for all storage servers.
133#
134# To customize individual servers:
135# 1. Copy host_vars/storage.yml.example to host_vars/[hostname].yml
136# 2. Override any settings specific to that server
137# 3. Configure vault variables for VPN and authentication
138#
139# To deploy storage services:
140# ansible-playbook -i inventory/hosts storage.yml --limit storage_servers
141#
142# Or use the main playbook:
143# ansible-playbook -i inventory/hosts site.yml --limit storage_servers --tags "core,storage"
144