-
-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathvars_example.yml
More file actions
252 lines (217 loc) · 7.87 KB
/
vars_example.yml
File metadata and controls
252 lines (217 loc) · 7.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
---
passwordless_sudo: true
configure_zsh: true # https://github.com/ohmyzsh/ohmyzsh
configure_powerlevel10k: true
install_rclone: true # https://github.com/rclone/rclone
install_docker: true
install_fastfetch: true # https://github.com/fastfetch-cli/fastfetch
fastfetch_motd: true
configure_scrutiny: true # https://github.com/AnalogJ/scrutiny
configure_hdidle: false # No longer recommended - See README https://github.com/adelolmo/hd-idle
skip_os_check: false
wipe_and_setup: true # Set this to true to enable wiping of disks. If any disks need to be wiped you will be prompted again.
# extra_apps: # add any extra apps you want installed to this list.
# - like
# - this
# generic:
timezone: Europe/London
smb_media_share_name: media-share
# snapraid/snapper
configure_snapraid_snapraid_deletethreshold: 150
split_parity_files: 3 # Number of files per parity disk, do not change if unsure.
split_parity_migrate: true # See README/v0.92 changelog
snapraid_excludes: [] # List of additional paths to exclude from SnapRAID snapshots
# Example:
# snapraid_excludes:
# - /path/to/exclude1
# - /path/to/exclude2
# sshkeys
ssh_key_option: none # Options: github, url, file, none
github_username: <YOUR_GITHUB_USERNAME>
ssh_key_url: https://example.com/ssh_keys.txt
ssh_key_file: /path/to/local/ssh_keys.txt
# users/groups
user: "{{ ansible_user }}"
media_group: media # Group for share perms.
# Adds specified users to Docker group when install_docker is true
docker_users:
- "{{ user }}"
# user_groups: # Optional - Define groups independently of users, use this to set specific GIDs
# - name: media
# gid: 1234
users:
- name: "{{ user }}"
groups:
- media
- docker
- name: media
groups:
- media
create_home: false
shell: /sbin/nologin
# The example below demonstrates all available options for users:
# - name: some_user # Required
# groups: # Required
# - media
# - docker
# append: true # Optional - Set to false to not append groups and only use the specified groups
# create_home: false # Optional - Defaults to false
# shell: /bin/bash # Optional - Defaults to system default shell if not specified
# uid: 1001 # Optional - Specify if you want to set a specific UID for the user
# samba config
samba_users:
- name: media
password: qwerty
samba_global_config_extras: |
# Performance optimizations for high-speed networks and modern storage
# These settings significantly improve transfer speeds on 10Gb+ networks and fast storage (Cache layer)
# Network buffer tuning
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=262144 SO_SNDBUF=262144
read raw = yes
write raw = yes
max xmit = 65536
dead time = 15
getwd cache = yes
# I/O optimizations for better throughput
strict allocate = yes
allocation roundup size = 4096
aio read size = 65536
aio write size = 65536
use sendfile = yes
# Enable multi-channel for SMB3 (uses multiple network connections when available)
server multi channel support = yes
samba_shares:
- name: "{{ smb_media_share_name }}"
path: "{{ media_cached }}"
guest_ok: false
writable: true
force_group: "{{ media_group }}"
create_mode: "0770"
directory_mode: "0770"
force_create_mode: "0770"
force_directory_mode: "0770"
write_list: "{{ media_group }}, {{ user }}"
owner: "{{ media_group }}"
group: "{{ media_group }}"
# mounts
media_cached: /mnt/media
media_noncached: /mnt/media # Only used if there is no cache
media_cold: /mnt/media-cold
data_mount_path: /mnt/data-disks
parity_mount_path: /mnt/parity-disks
cache_mount_path: /mnt/cache-disks
cache_pool: /mnt/cache-pool # Only used with 2+ cache disks
cache_pool_policy: epmfs # The policy for the cache pool. Leave if using 2+ cache disks and unsure.
# MergerFS minfreespace settings
# configure_mergerfs_cache_minfreespace: 50G # Minimum free space for cache disks (default: 50G)
# configure_mergerfs_minfreespace: 100G # Minimum free space for data disks (default: 100G)
# content files
content_files:
- /var/snapraid/snapraid.content
- /mnt/parity-disks/parity01/snapraid/snapraid.content
- /mnt/cache-disks/cache01/snapraid/cache/snapraid.content # remove if you have no cache disks
## must enable a 3rd content file with 2+ parity
## cannot be in a btrfs subvolume
# dirs:
dir_snapraid_btfs_runner: /var/snapraid-btrfs-runner
# data_directories
data_directories:
- movies
- tv
- music
- youtube
## Or with custom ownership and permissions:
# data_directories:
# - name: movies
# owner: john
# group: media
# mode: '0775'
# - name: tv
# owner: lisa
# group: media
# mode: '0775'
# - name: music
# owner: tom
# group: media
# mode: '0775'
# - name: youtube
# owner: ellen
# group: media
# mode: '0775'
# disks
data_disks:
- /dev/disk/by-id/ata-xxxx
- /dev/disk/by-id/ata-xxxx
- /dev/disk/by-id/ata-xxxx
- /dev/disk/by-id/ata-xxxx
- /dev/disk/by-id/ata-xxxx
- /dev/disk/by-id/ata-xxxx
- /dev/disk/by-id/ata-xxxx
cache_disks:
- /dev/disk/by-id/nvme-xxxx
parity_disks: # https://github.com/monstermuffin/muffins-awesome-nas-stack/tree/dev#disk-config
- device: /dev/disk/by-id/ata-xxxx
mode: dedicated
level: 1
# cache mover vars - https://github.com/monstermuffin/mergerfs-cache-mover
cache_mover_autoupdate: true
cache_mover_update_branch: main # dev applicable here too but could break stuff, check the repo for more info.
cache_mover_dir: /opt/mergerfs-cache-mover
cache_mover_log_path: /var/log/cache-mover.log
cache_mover_threshold_percentage: 70
cache_mover_target_percentage: 30
cache_mover_max_workers: 8
cache_mover_max_log_size_mb: 100
cache_mover_log_backup_count: 5
cache_mover_excluded_dirs:
# - exmample dir
# - other_dirs_as_needed
on_calendar_schedule: "*-*-* 03:00:00" # 3AM daily https://silentlad.com/systemd-timers-oncalendar-(cron)-format-explained
cache_mover_notif_enabled: true # https://github.com/monstermuffin/mergerfs-cache-mover/tree/main#notifications
cache_mover_notif_urls: # https://github.com/caronc/apprise#productivity-based-notifications
- 'discord://webhook_id/webhook_token'
- 'slack://hooks/tokenA/tokenB/tokenC'
cache_mover_notif_threshold: true
# scrutiny vars
scrutiny_mode: "omnibus" # Can be 'omnibus' or 'collector'. Leave as-is if unsure.
scrutiny_master_url: "http://scrutiny-master:8080" # Used only in collector mode
scrutiny_webui_port: 8080 # Used only in omnibus mode
# Scrutiny notificattion vars
# https://containrrr.dev/shoutrrr/v0.8/services/discord/ && https://github.com/AnalogJ/scrutiny/blob/master/example.scrutiny.yaml
# Discord
scrutiny_discord_enabled: false
scrutiny_discord_token: YOUR_DISCORD_TOKEN
scrutiny_discord_webhookid: YOUR_DISCORD_WEBHOOK_ID
# Telegram
scrutiny_telegram_enabled: false
scrutiny_telegram_token: YOUR_TELEGRAM_TOKEN
scrutiny_telegram_channels: channel-1,channel-2
# Pushover
scrutiny_pushover_enabled: false
scrutiny_pushover_token: YOUR_PUSHOVER_TOKEN
scrutiny_pushover_userkey: YOUR_PUSHOVER_USER_KEY
scrutiny_pushover_priority: 1
scrutiny_pushover_devices: device1,device2
# Slack
scrutiny_slack_enabled: false
scrutiny_slack_botname: YOUR_SLACK_BOTNAME
scrutiny_slack_token_a: YOUR_SLACK_TOKEN_A
scrutiny_slack_token_b: YOUR_SLACK_TOKEN_B
scrutiny_slack_token_c: YOUR_SLACK_TOKEN_C
# Gotify
scrutiny_gotify_enabled: false
scrutiny_gotify_host: YOUR_GOTIFY_HOST
scrutiny_gotify_token: YOUR_GOTIFY_TOKEN
# Ntfy
scrutiny_ntfy_enabled: false
scrutiny_ntfy_username: YOUR_NTFY_USERNAME
scrutiny_ntfy_password: YOUR_NTFY_PASSWORD
scrutiny_ntfy_host: YOUR_NTFY_HOST
scrutiny_ntfy_port: YOUR_NTFY_PORT
scrutiny_ntfy_topic: YOUR_NTFY_TOPIC
# Pushbullet
scrutiny_pushbullet_enabled: false
scrutiny_pushbullet_token: YOUR_PUSHBULLET_TOKEN
scrutiny_pushbullet_device: "" # Leave empty, or specify a device
scrutiny_pushbullet_channel: "" # Leave empty, or specify a channel
scrutiny_pushbullet_email: "" # Leave empty, or specify an email