this post was submitted on 25 Feb 2024
154 points (91.4% liked)

Linux

48245 readers
512 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I installed a few different distros, landed on Cinnamon Mint. I'm not a tech dummy, but I feel I'm in over my head.

I installed Docker in the terminal (two things I'm not familiar with) but I can't find it anywhere. Googled some stuff, tried to run stuff, and... I dunno.

I'm TRYING to learn docker so I can set up audiobookshelf and Sonarr with Sabnzbd.

Once it's installed in the terminal, how the hell do I find docker so I can start playing with it?

Is there a Linux for people who are deeply entrenched in how Windows works? I'm not above googling command lines that I can copy and paste but I've spent HOURS trying to figure this out and have gotten no where...

Thanks! Sorry if this is the wrong place for this

EDIT : holy moly. I posted this and went to bed. Didn't quite realize the hornets nest I was going to kick. THANK YOU to everyone who has and is about to comment. It tells you how much traction I usually get because I usually answer every response on lemmy and the former. For this one I don't think I'll be able to do it.

I've got a few little ones so time to sit and work on this is tough (thus 5h last night after they were in bed) but I'm going to start picking at all your suggestions (and anyone else who contributes as well)

Thank you so much everyone! I think windows has taught me to be very visually reliant and yelling into the abyss that is the terminal is a whole different beast - but I'm willing to give it a go!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 14 points 8 months ago (1 children)

Linux is a slightly different way of thinking. There are any number of ways that you can solve any problem you have. In Windows there are usually only one or two that work. This is largely a result of the hacker mentality from which linux and Unix came from. "If you don't like how it works, rewrite it your way" and "Read the F***ing Manual" were frequent refrains when I started playing with linux.

Mint is a fine distro which is based off of Ubuntu, if I remember correctly. Most documentation that applies to Ubuntu will also apply to you.

Not sure what exactly you installed, but I'm guessing that you did something along the lines of sudo apt-get install docker.

If you did that without doing anything ahead of time, what you probably got was a slightly out of date version of docker only from Mint's repositories. Follow the instructions here to uninstall whatever you installed and install docker from docker's own repositories.

The Docker Desktop that you may be used to from Windows is available for linux, however it is not part of the default install usually. You might look at this documentation.

I don't use it, as I prefer ctop combined with docker-compose.

Towards that end, here is my docker-compose.yaml for my instance of Audiobookshelf. I have it connected to my Tailscale tailnet, but if you comment out the tailscale service stuff and uncomment the port section in the audiobookshelf service, you can run it directly. Assuming your not making any changes,

Create a directory somewhere,

mkdir ~/docker

mkdir ~/docker/audiobookshelf

This creates a directory in your home directory called docker and then a directory within that one called audiobookshelf. Now we want to enter that directory.

cd ~/docker/audiobookshelf

Then create your docker compose file

touch docker-compose.yaml

You can edit this file with whatever text editor you like, but I prefer micro which you may not have installed.

micro docker-compose.yaml

and then paste the contents into the file and change whatever setting you need to for your system. At a minimum you will need to change the volumes section so that the podcast and audiobook paths point to the correct location on your system. it follows the format <system path>:<container path>.

Once you've made all the needed changes, save and exit the editor and start the the instance by typing

sudo docker compose up -d

Now, add the service directly to your tailnet by opening a shell in the tailscale container

sudo docker exec -it audiobookshelf-tailscale /bin/sh

and then typing

tailscale up

copy the link it gives you into your browser to authenticate the instance. Assuming that neither you or I made any typos you should now be able to access audiobookshelf from http://books If you chose to comment out all the tailscale stuff you would find it at http://localhost:13378

docker-compose.yaml

version: "3.7"
services:
  tailscale:
    container_name: audiobookshelf-tailscale
    hostname: books                         # This will become the tailscale device name
    image: ghcr.io/tailscale/tailscale:latest
    volumes:
      - "./tailscale_var_lib:/var/lib"        # State data will be stored in this directory
      - "/dev/net/tun:/dev/net/tun"           # Required for tailscale to work
    cap_add:                                    # Required for tailscale to work
      - net_admin
      - sys_module
    command: tailscaled
    restart: unless-stopped
  audiobookshelf:
    container_name: audiobookshelf
    image: ghcr.io/advplyr/audiobookshelf:latest
    restart: unless-stopped
#    ports:                                                                  # Not needed due to tailscale
#      - 13378:80                                                                                                     
    volumes:
      - '/mnt/nas/old_media_server/media/books/Audio Books:/audiobooks'       # This line has quotes because there is a space that needed to be escaped.
      - /mnt/nas/old_media_server/media/podcasts:/podcasts                               # See, no quotes needed here, better to have them though.
      - /opt/audiobookshelf/config:/config                                       # I store my docker services in the /opt directory. You may want to change this to './config' and './metadata' while your playing around
      - /opt/audiobookshelf/metadata:/metadata
    network_mode: service:tailscale                                  # This line tells the audiobookshelf container to send all traffic to tailscale container

I've left my docker-compose file as-is so you can see how it works in my setup.