I’ve been using the Files app to mount my NAS, which I then use as a volume source for apps like Plex, SABnzbd, etc.
I switched to this from an fstab-based setup, because I think having both an fstab mount and a Files-app mount, when both used, created reliability issues when streaming.
Switching to the Files app mount under ~/umbrel/network/RS280/… and updating my Docker volume mounts worked fine at first. However, when I restarted Umbrel, something went wrong.
The containers mounted the volumes in the expected locations, but the Files app also mounted the device in the same path. This resulted in the containers mounting a path on the host that was virtually inaccessible except to the containers themselves. I only realized this after my host ran out of storage space.
After some triaging and recovery, I’m now looking for a way to prevent this from happening again. My current idea is to modify umbrel.service in the following way:
### /etc/systemd/system/umbrel.service
# [Unit]
# Description=Umbrel daemon
# After=network-online.target docker.service
#
# Ensure this service waits until the specified path is available
ConditionPathExists=/home/umbrel/umbrel/network/RS820.local/data
# [Service]
# TimeoutStopSec=15min
# ExecStart=umbreld --data-directory=/home/umbrel/umbrel
# Restart=always
# # This prevents us hitting restart rate limits and ensures we keep restarting
# # indefinitely.
# StartLimitInterval=0
#
# Add a shell script that continuously checks for the directory
# every second until it appears.
ExecStartPre=/bin/sh -c 'until [ -d /home/umbrel/umbrel/network/RS820.local/data ]; do sleep 1; done'
# [Install]
# WantedBy=multi-user.target
My question here is will this work?