/
/
/
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
40nextcloud_enabled: true
41
42# Individual Arr services
43sonarr_enabled: true
44radarr_enabled: true
45prowlarr_enabled: true
46lazylibrarian_enabled: true
47bazarr_enabled: true
48jellyseer_enabled: true
49flaresolverr_enabled: true
50qbittorrent_enabled: true
51gluetun_enabled: "{{ arr_vpn_enabled }}"
52
53# ==============================================================================
54# PERFORMANCE DEFAULTS
55# ==============================================================================
56# Conservative defaults - override based on hardware capacity
57default_memory_limit: "2g"
58default_cpu_limit: "2"
59
60# Jellyfin gets more resources (media transcoding intensive)
61jellyfin_memory_limit: "4g"
62jellyfin_cpu_limit: "4"
63
64# Arr stack typically lightweight
65arr_memory_limit: "1g"
66arr_cpu_limit: "1"
67
68# ==============================================================================
69# NETWORK CONFIGURATION
70# ==============================================================================
71storage_docker_network: "storage-network"
72
73# Health check settings
74health_check_enabled: true
75health_check_interval: "30s"
76health_check_timeout: "10s"
77health_check_retries: 3
78
79# ==============================================================================
80# BACKUP CONFIGURATION
81# ==============================================================================
82# System-level backup settings
83backup_retention_days: 90
84backup_schedule: "0 2 * * *" # 2 AM daily
85backup_path: "{{ storage_base_path }}/system-backups"
86
87# Service configuration backup
88backup_jellyfin_config: true
89backup_arr_configs: true
90backup_calibre_library: true
91
92# ==============================================================================
93# VPN DEFAULTS
94# ==============================================================================
95# Default VPN settings (credentials must be in vault)
96vpn_server_countries: "Netherlands,Switzerland"
97vpn_server_regions: "Europe"
98
99# ==============================================================================
100# SECURITY SETTINGS
101# ==============================================================================
102# System optimization for storage servers
103system_swappiness: 1 # Minimize swap usage
104
105# ==============================================================================
106# PORT ASSIGNMENTS
107# ==============================================================================
108# Standard ports - change in host_vars if conflicts exist
109jellyfin_host_port: 8096
110
111sonarr_host_port: 8989
112radarr_host_port: 7878
113prowlarr_host_port: 9696
114lazylibrarian_host_port: 5299
115
116restic_backup_host_port: 8000
117nextcloud_host_port: 8443
118
119# ==============================================================================
120# DIRECTORY STRUCTURE
121# ==============================================================================
122# These will be created automatically
123media_directories:
124 - "{{ storage_base_path }}/media"
125 - "{{ storage_base_path }}/media/movies"
126 - "{{ storage_base_path }}/media/shows"
127 - "{{ storage_base_path }}/media/books"
128 - "{{ storage_base_path }}/downloads"
129 - "{{ storage_base_path }}/backups"
130
131# ==============================================================================
132# USAGE NOTES
133# ==============================================================================
134# This file provides sensible defaults for all storage servers.
135#
136# To customize individual servers:
137# 1. Copy host_vars/storage.yml.example to host_vars/[hostname].yml
138# 2. Override any settings specific to that server
139# 3. Configure vault variables for VPN and authentication
140#
141# To deploy storage services:
142# ansible-playbook -i inventory/hosts storage.yml --limit storage_servers
143#
144# Or use the main playbook:
145# ansible-playbook -i inventory/hosts site.yml --limit storage_servers --tags "core,storage"
146