I hope I can explain this correctly; I am only somewhat familiar with docker.
I have a script that I run after Home Assistant OS updates; it updates the alpine operating system with some extra packages and creates three symlinks in /usr/local/bin for three scripts in /config/shell_scripts. Up until now, it's run perfectly when I run it manually over ssh.
Then I decided to create an automation to run it automatically after an HAOS update, and while the package updates work, the script says those symlinks exist already so it doesn't create them; they do not exist, HAOS deletes them after an update (and Core updates might too, but I usually update them together so never checked).
After a lot of frustration, I logged into Home Assistant with root on the 22222 port and found it's checking and finding the previously created symlinks from earlier HAOS updates inside /mnt/data/docker/overlay2/../usr/local/bin and /var/lib/docker/overlay2/../usr/local/bin. At least, that's my guess; googling docker and overlays has been a trip.
So my question: how do I structure the script so that the symlink check is within the docker container's version of /usr/local/bin so it will create the symlink?
I get the answer is probably super obvious, but I am not seeing it. The only other thing I can think to do is export /homeassistant/shell_scripts to PATH but while that works over ssh, I haven't tested that running as a shell script service and I really want to automate this process.
Screenshot of full script attached; here's the short version I'm using for testing. This has been checked with and without variables for paths.
#!/bin/bash
# variables
bin_home="/usr/local/bin"
shell_home="/homeassistant/shell_scripts"
# add packages
pkgs="coreutils figlet iproute2 iw jq procps-ng sed util-linux wireless-tools"
apk add $pkgs
echo "Packages Updated"
ln -s "$shell_home/lib_comp" "$bin_home/lib_comp"
ln -s "$shell_home/ipa_status" "$bin_home/ipa_status"
ln -s "$shell_home/ssh_text" "$bin_home/ssh_text"
echo "Done"
Oh, I backup religiously since Blue failed right after I moved and backup my backups on my laptop as well. (literally failed; I lost everything and had to run photorec and three other tools to pick out everything I'd done for the previous six months, since that I hadn't copied to a backup on my server because I was prepping to move at the time).
So far, OTBR is the biggest stopping issue since HA runs it but nothing sticks. I admit, moving zwave is my actual biggest dread; zigbees I can do probably in a weekend, but zwave is such hell to unpair and re-pair (thought it makes up for it by sticking forever). That's part of the reason I love Thread and Matter; they're almost as sticky as zwave once they pair, and while pairing them is variable (sometimes fast, sometimes not so much) they repair themselves pretty consistently if the outage is under 24 hours and you can deliberately unpair them fairly easily.