this post was submitted on 18 May 2024
70 points (94.9% liked)

Selfhosted

39435 readers
2 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I've been interested in self-hosting for a while, but didn't really know where to start. I've never messed with Linux before and wanted to jump ship from Windows since Microsoft decided to start putting ads everywhere. I came across this post [https://lemmy.world/post/6542543] which was exactly what I was looking for to start, and seemed like a straight-forward guide. I have two laptops, one I want to act as my media server with Docker and the other as my everyday device. Except I've been met with setback after setback from the start. I tried installing Ubuntu Server on the media server laptop but just could not get it up and running. I was suggested to try using a more beginner-friendly distro, so I went with Mint. I also liked the idea of a GUI I can mess around with.

Docker was a success, but then I got to the Adguard part and when I try the docker-compose.yml step, grub just hangs. Decided to skip that part and go onto Jackett. Nope, more errors. Tried Prowlarr, different errors.

I don't want to give up on this because its something I really want to get going for my media, home automation, cameras, etc etc. But I feel like I'm flying blind here.

I have a lot of homework to do to learn Linux, but is there a different, beginner-friendly guide out there for me to follow for now?

-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.-~.

Edit: I appreciate everyone's comments. Although I have no Linux experience, I know my way around Windows pretty well. I understand file systems and in one of my errors that was asked, I was getting a "No File or Directory exists" error. I edited the username to fit my what I have, but was still getting the error. I even created a new user named Prowlarr when attempting the Powlarr install to follow the steps word-for-word, no luck. It got frustrating so I gave up for the day.

I admit I do have a lot of learning to do, and I am really grateful some of you have provided start-points for my Linux journey. I'm also grateful for the "Self-hosting For Dummies" recommendations, like Yunohost and YAMS. I plan on looking over all of this info today to get a solution up for now and start my path down the Linux rabbithole. Its kinda exciting to start embarking on something like this.

Anyway, thanks to everyone who gave me great feedback!

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

Do you have sample of what kind of errors you're getting? are they docker related or service related? as in jackett can't connect/reach sonarr for example?

[–] [email protected] 3 points 6 months ago (3 children)

I actually didnt know how to start the Jackett install from the guide I posted, so I just googled and tried following a guide. One of the first steps says sudo mkdir /home/ubuntu/jackett_config

I get a "No such file or directory". Makes sense, ubuntu isn't this user's name. So I change it to point to "/home/user/jackett_config" and get the same result.

This is what usually stops me from proceeding further.

[–] [email protected] 11 points 6 months ago

If you try to spin up multiple services but get stuck on creating a directory, you're moving too fast. I think you'll need to start a bit slower and more structured.

Learn how to do basic tasks in the terminal and a bit about how linux works in general. There is a learning curve, but it will be fun! Then move on to docker and get one service up and running. Go on from there with everything you learned along the way and solve the other problems you'll encounter - one at a time.

[–] [email protected] 2 points 6 months ago

Change "user" to your actual user name.

[–] [email protected] 1 points 6 months ago* (last edited 6 months ago)

Yeah, as someone else mentioned, this step is just for creating a folder. You probably need to get more intimate with the commands you're running to understand the process better, but I would honestly take a step back and use something more streamlined for these things.

Someone mentioned Proxmox for these things. I would also mention TrueNAS Scale. Both of those make it so that the process of spinning up containers and VMs becomes a lot more streamlined and easy to follow. They also forego a UI on the equipment you're using, opting for a web UI you'd access from another device instead. Make no mistake, this is a good thing. 99% of things you'll be wanting to do anywhere will be through web UIs, so that's where you'll want to be. The 1% of the time where you'll be seeing your laptop server's screen (or an SSH terminal) will be the most painful 1% of your life, and it will be when you misconfigured something and the web UI becomes inaccessible (on that note, also make sure to at least configure SSH access on something so you understand how that works). I've had to do this plenty of times with my pfsense box, and as a relative noob to these things as well, having to use nano and vim for editing pfsense configs to revive my server.....it's fucking horrible (sorry vim enjoyers). The good news is, you learn the hard way, but you learn. Try not to have this happen to you, or you'll be back here soon. Once you've had a lot more experience with your tinkering, this will seem less daunting and you'll be more comfortable debugging directly on your laptop server screen.

TrueNAS Scale, as the name implies, is better suited for when you want to include NAS Capatbilities on your setup. Since you mention things meant for Plex/Jellyfin setups, I'd say you could start there.

However you do mention a laptop, so I'm imagining a very basic setup where you probably have limited space or a couple of USB drives or something. You could, instead, opt for Proxmox. You lose the specific capabilities of creating complex RAID setups that TrueNAS would give you, but it sounds like you wouldn't be needing those anyways, as they better fit a setup where you have a bunch of disks connected through SATA or PCIe interfaces. Proxmox is a lot more specialized for containers and VMs so it's probably a good tool to get acquainted with, and might be better suited for a setup where you have just the laptop and maybe a couple of drives to toy around with.

Whichever you choose, make sure to watch YouTube videos about it, read the docs, truly understand what's going on with that tool first, as well as how to set it up correctly. This will introduce networking concepts to you in the process, as you'll need to understand how to access the computer through the network with a browser, as well as with SSH. Make sure you don't ignore networking knowledge. It might seem daunting, or skippable (why bother with local domain names when you can just use the IP and port number?), but a lot of networking concepts are actually rather simple to follow, take a moment on the first few tries but become very easy to reproduce afterwards, and it will make your life easier (yeah turns out, now there's 20 services and you forgot what ports are for what service...if only you had dedicated time to telling the network that port 69420 was for radarr.localdomain and port 42069 was for sonarr.localdomain).

I'd check out Lawrence Systems on YouTube. They make videos covering networking configs with pfsense and the like, as well as TrueNAS configs, and maybe they've delved on Proxmox? Craft Computing, another YouTube channel, for sure teaches about Proxmox. There's tons of video guides for *arr services, I haven't looked for platform-specific configs, but I'm sure you can find both videos for Proxmox and TrueNAS Scale configs. Once you get your first one, most other *arr services are very similarly configured (though not all are, some are very quirky).

Another thing you'll need to understand is how containers work, as well as how to map things from outside the containers into them. Containers are, well, contained, and mappings are how you expose parts of the container to the outside. You'll probably be guided to map things such as your data and the service's config files from outside the container to better organize and persist those things. Make sure you understand this concept, where things are on your setup, where they're getting mapped to in the container, and what this means when it comes to modifying the container (hint: it means you can delete or upgrade the container and things still work exactly as you configured them once your container is back up).

Maybe a controversial advice, but I'd steer clear of the console unless it can't be helped, since you honestly can do a lot from the UI for the vast majority of things you'll need to do. If you DO need to use the console, however, I'd bother ChatGPT and documentation for whatever youre doing, to make sure you understand what every command you try does. Things like "sudo mkdir xyz" should be crystal clear to you. In the case of this failed command, for instance, you should be aware that mkdir doesn't create entire paths, but rather only specific folders. If the preceding folder doesn't exist, the command fails, so if /home doesn't exist, nothing else will work. If /home/user doesn't exist, you're not going to be creating /jackett_config, and so on. Sudo is also a very powerful keyword, which means whatever follows it is an order from the big boss and must be obeyed. As such, absolutely make sure you understand any command that starts with "sudo", as those are the ones that can easily set fire to your entire config. If you don't understand what it's doing, don't run it.

While we are on the subject of folder structures, theres no shame in looking up videos and docs explaining the Unix file structure. If youre coming from windows, this is a veeeeery easily confusing bit, and understanding where you are is very helpful.

Hopefully some of my ramblings make sense to you. Hit me up, or hit the community up, if you need more specific guidance. Things can seem daunting at first, especially if you're new to Unix, but I promise you it becomes easier as you build good foundational knowledge.