I'm a Linux newb and I managed to set this up a couple months ago. Despite being new to servers and containers, I did not find it too difficult.
Here is the guide I used: https://zerodya.net/self-host-jellyfin-media-streaming-stack/
The guide above doesnt include Audiobookshelf installation, but you will quickly see that adding Audiobookshelf to the basic setup is very easy. There are two things I've learned since the initial setup, which are worth a deviation from the guide above.
First, the recommendation in the guide to use a separate userid and groupid (1001) for the docker containers vs. your own userid/groupid (1000) is a royal PITA and not necessary for most basic use cases.
Second, and much more important, you MUST set up your VPN in a Gluetun container and then make your torrent client container a "service" of the Gluetun container. Yes, I know, that sounds like some advanced-level abstraction, but it is actually extremely easy to do and it will save you from getting a nastygram from your ISP when your VPN loses connection. The MPIAA is extremely active with automated detection and processing of torrenting data, but if you set up your VPN with Gluetun, you have a perfectly effective kill switch when your VPN connection drops. And, no, the built-in killswitch on your VPN client won't work with containers.
Here is the guide I used to make that modification to the initial setup: https://www.smarthomebeginner.com/gluetun-docker-guide/
Good luck! It was fun to set up, and even more fun to use.