I’ve never played with Docker but some well written how-to’s and YT vids did the job. I just set up audiobookshelf on a DS220+, and now obviously I want to stream these books when I’m not home. The internet is full of info on this, but there’s a lot of verbiage I’m not too familiar with yet. I do know there are already some services I am already using or are available. It seems everything I google is a sea of acronyms and terms I’m not yet familiar with. The main goal is to be able to log my mom’s phone in to the ABS app without her having to run a VPN on her phone.
I already have a quickconnect domain through Synology
I already have DDNS set up on my Asus router and a domain (mydomain. asuscomm. com)
I have Asus instant guard available to me to VPN into my own network, but I don’t want to use that all the time and would make sharing books with my mom a pain.
Can I use one of the first two to access my ABS? Is it just a matter of port forwarding?
Yeah, should be just a matter of port forwarding, though there might be some specifics for your router.
Find out what port(s) is used by ABS to serve the audiobooks (if your not sure look at their documentation).Assuming it’s https (port 443), log into your router and port forward 443 from the IP of your ABS instance. Test the connection from a device off your network by using your public IP address as the server name (you may have to specify the port you forwarded depending on the client software. e.g: yourpublicip:443).
Once you confirm the connection works, now you have to test it using your domain name. Why? Because you won’t be able to access your ABS instance while on your local network using your public IP, you have to use the local one. This is where domain names and dns comes into play and makes things a whole lot more complicated (but that’s the fun of it :D).
Accessing your ABS instance externally using your domain name is easy, all you have to do is create an A record for example “ABS” and point it to your public IP address. So now abs.yourdomain.com will resolve to your public IP address (sounds like you already have done this with DDNS just make sure to create your desired A record). Using abs.yourdomain.com as the server name for you ABS instance should now work off your local network.
Internally, you need a DNS server to resolve abs.yourdomain.com to it’s local IP address (a simple DNSmasq server would work fine). Then you need to point your client devices to use your internal dns server for dns requests (this can be done manually from the device or from your router’s dhcp server). Now requests to abs.yourdomain.com will resolve to ABS’ local IP address while on your local network so both internal and external access should work seamlessly.