Easiest entry point for a noob? reddit / selfhosted ---------------------------------------------------------------------- paskal007r · 2023-12-19 20:04 Hi y'all, today I got my first mini-pc up and running and I'm up for getting started with self hosting stuff. The problem is, I have no idea where to start. For the moment I installed a fedora linux and that's it. Is there some nice and easy entry point? I tried looking at the subreddit wiki but it's... gigantic. And I have no idea what half of that stuff is. Well make it 9/10. Is there some sort of app-store-like thing to set up services? Or a noob guide to get started? ---------------------------------------------------------------------- TimWardle · 2023-12-19 20:13 If you have a mini pc then check out proxmox. Not an easy thing to do at first though. I suggest maybe create some ubuntu server LTS and try Casaos. You can increase the amount of applications that are available there by linuxserverio’s library. Do you know anything about docker? What are your first wishes that you want to achieve? ---------------------------------------------------------------------- ithium · 2023-12-19 20:13 well you should start listing what you want to selfhost. I don't know your background but Fedora isn't usually what we go with, most people like doing stuff with Proxmox or Unraid, hell docker even. ---------------------------------------------------------------------- Square_Lawfulness_33 · 2023-12-19 20:24 [servarr](https://wiki.servarr.com) and [Linuxserver](https://docs.linuxserver.io) - container images ---------------------------------------------------------------------- LuckyHedgehog · 2023-12-19 20:25 Easiest thing to do is get Plex or jellyfin up and running. It's a great entryway to self hosting and is a visible accomplishment when things get working for the first time You'll run up to storage limits pretty quick, then learn about data integrity and permissions. You'll probably want to experiment with other services and start seeing the benefits of containers to host things Plus Plex/Jellyfin are fun to show off to guests ---------------------------------------------------------------------- MaundeRZ · 2023-12-19 20:28 give an example what you want to use your server for and maybe its configuration - i am not to familar with fedora - but based on your system you might want to replace it with a hypervisor - so you can spin up any amount of virtual machines, containers etc. or you go docker and use that to run containerized applications on your fedora system. ---------------------------------------------------------------------- ro55mo · 2023-12-19 20:35 You are going to want to look into how to run virtual machines and / or containers on your mini-pc (the host server). This will allow you install applications in safety without risking breaking your mini-pc and having to reinstall all the time. KVM is the native hypervisor for running VMs on Linux For containers I would look up articles about how to get started with containers managed via Portainer. ---------------------------------------------------------------------- Jonteponte71 · 2023-12-19 20:42 The easiest entry point if you already have a mini pc is CasaOS or CosmosServer. Once installed you can basically install most (if not all) apps you would want to run from their app stores. It’s docker under the hood, but simplifed and user friendly. Just google them and start there. ---------------------------------------------------------------------- Psychological_Try559 · 2023-12-19 20:47 There are many, but every "store" or "delivery mechanism" has to make a trade off between how much control to give to the user and how easy they want it to be, so they all end up being a tradeoff. At the "poweruser" end you have containers. These are amazingly powerful but there's a learning curve, learning docker is worth it but hard, and you need to comfortable with linux & shell commands before you start. On the other end some distros like Ubuntu (probably Fedora too but I can't recall off the top of my head) literally come with an app store where you can click around and install apps. The problem with this is that it's easy for an app to get lost if it doesn't tell you how to launch it or where to find it. In between you have tools like "snap", which require a single command line to install--which is harder than clicking around, but they do provide the command. The downside is that as you start you use these tools more heavily you will inevitably hit limitations due to snap. The truth is that the best is the one you're comfortable with, and that should change over time. In the end, the only wrong answer is not to try. ---------------------------------------------------------------------- TattooedBrogrammer · 2023-12-19 20:52 Generally from here I’d look to find out what problem I’d like to solve or how I’d like to make my life easier or better. Otherwise your just setting stuff up for no reason. ---------------------------------------------------------------------- random6722 · 2023-12-19 20:58 Define "stuff" first! ---------------------------------------------------------------------- paskal007r · 2023-12-19 21:02 CasaOS seems exactly the droid I'm looking for, it'd be great if it was an app instead, so I could keep fedora... but I guess I can start from that. As for what I want to do, I don't have a precise goal in mind, I'm just fed up with online services controlling most of what I do with no recourse from me, so long-term I want to self host all I can (without turning it into a second job). ---------------------------------------------------------------------- belly_hole_fire · 2023-12-19 21:04 I agree with this poster and will also say what someone else said, make a list of what you want to do. I think finding a mini pc on ebay is a good first cheap start. Install prpxmox on that which I think is very easy and then find guides to setup Ples or jellyfin in a vm. ---------------------------------------------------------------------- paskal007r · 2023-12-19 21:04 Uh can you recommend one of those channels? ---------------------------------------------------------------------- paskal007r · 2023-12-19 21:05 Thanks for the overview things are now a bit less confusing ---------------------------------------------------------------------- paskal007r · 2023-12-19 21:06 That's part of the problem, I don't know what is available ---------------------------------------------------------------------- limskey · 2023-12-19 21:07 I would say install updates, anti-virus, assign an IP, then play around with docker and containers. After that, install something like wireguard or Cloudflare tunnels. If you don’t know about DNS and networking, well, now is a good time to learn. And last of all, have fun! ---------------------------------------------------------------------- paskal007r · 2023-12-19 21:08 I do know most of these words, I swear. ---------------------------------------------------------------------- Jonteponte71 · 2023-12-19 21:14 On the first page of a google search I found this excellent resource that also includes a section of good selfhosting channels. I have this bookmarked as well. I just forgot that I had. [https://github.com/mikeroyal/Self-Hosting-Guide#youtube- channels](https://github.com/mikeroyal/self-hosting-guide#youtube- channels) ---------------------------------------------------------------------- random6722 · 2023-12-19 21:25 A lot, here some suggestions [https://github.com/awesome- selfhosted/awesome-selfhosted](https://github.com/awesome- selfhosted/awesome-selfhosted) (for me it is mostly dns/web/mail/imap server, but there is so much that can be selfhosted!) ---------------------------------------------------------------------- IcyEase · 2023-12-19 21:38 hey there buddy, it sounds like you're in a bit of a pickle. don't worry, everything is gonna be fine. so, you wanna start hosting stuff, huh? well, first things first, you need to know that there's a whole lot of stuff going on in that big ol' wiki you're looking at. it's like trying to learn a new language by diving right into a dictionary - not the best idea, right? you see, when it comes to self-hosting, you're gonna need to be comfortable with a bunch of techie jargon and acronyms, like VPS, Docker, and Plex. it's like learning a new dialect of geek speak, if you will. but fear not, my friend, because there are indeed noob- friendly guides out there that can help you get started. now, about this app-store-like thing you're asking for. well, the closest thing in the self-hosting world would be something called "Home Assistant." it's like a one-stop-shop for all your self-hosting needs. think of it as the kids menu at a fancy restaurant - simple, easy to understand, and not too overwhelming. so, buckle up, grab a cup of coffee, and get ready to dive into the world of self-hosting. just remember, it's a journey, and it's okay to stumble here and there. at the end of the day, you'll be the master of your mini-pc realm! ---------------------------------------------------------------------- iBicha · 2023-12-19 21:47 Surprised no one mentioned Tipi https://github.com/runtipi/runtipi ---------------------------------------------------------------------- cesarderio · 2023-12-19 22:03 Install Docker, install Portainer as your first container. Access Portainer via web browser and try out all of these suggestions easily and quickly. CasaOS is similar, but more of a OS with container integration. Both great options to easily get into trying out containers, services, etc. ---------------------------------------------------------------------- cesarderio · 2023-12-19 22:04 Install Docker, install Portainer as your first container. Access Portainer via web browser and try out all of these suggestions easily and quickly. CasaOS is similar, but more of a OS with container integration. Both great options to easily get into trying out containers, services, etc. ---------------------------------------------------------------------- paskal007r · 2023-12-19 22:09 Looks like it was made just for me, it's exactly what I was looking for! Thanks mate! ---------------------------------------------------------------------- stupv · 2023-12-19 22:30 Fedora is a strange starting point - the generic ones to recommend are usually: - Linux based NAS platforms like Unraid or TrueNAS Scale (that natively support docker) - Proxmox (which has easy setup of many services via tteck scripts, and is very resilient, with most management able to be done via web gui) - Debian/ubuntu-server - just a generic, flexible, well supported linux platform for basically anything you could want to run. Everything that runs on linux is going to run on one or both of these and have a lot of documentation ---------------------------------------------------------------------- stupv · 2023-12-19 22:32 Learning can be reason enough ---------------------------------------------------------------------- TattooedBrogrammer · 2023-12-19 22:37 Yes, but set a goal then learn to the finish. If you’re a new dad, start small by hosting a baby sleep tracking app, or if you’re into movies, get Radarr, Plex and Prowlarr setup then branch into overseer and Sonarr and a dashboard. Maybe you really hate Ads, then figure out how to get AdGuard home setup, and then learn to use docker and do it. Or maybe your into IOT and have a smart washing machine, get HomeBridge or Scrypted setup and get it paired into HomeKit. ---------------------------------------------------------------------- Haliphone · 2023-12-19 22:51 This is what I did. I'd bought a synology to backup a load of stuff, discovered it could do other more fun things and have been slowly but surely doing my own stuff. Its a fun and frustrating hobby. ---------------------------------------------------------------------- housepanther2000 · 2023-12-19 22:57 Why not practice first with securing your Linux install? Learn how to harden it and implement a firewall. ---------------------------------------------------------------------- aguerooo_9320 · 2023-12-19 23:08 I've started with a RPi 3, Plex and torrenting. As I needed better download speeds, I've replaced it with a cheap old HP EliteDesk and it's running flawlessly. However, I do not see the need/benefits of containers, probably because I don't need more services than Plex+qBittorrent? Can you detail more on what I'm missing out? ---------------------------------------------------------------------- limskey · 2023-12-20 00:00 Don’t know why I’m getting downvoted but you need to learn the basics first. Anyone who argues different is not steering you in the write direction. Anyway, learn the basics then build up from there. And I teach this stuff so from a teacher perspective, it can get overwhelming but if you start from the basics, it’ll be a good start. ---------------------------------------------------------------------- DTea123 · 2023-12-20 00:07 Unraid may be a good starting point for you. It's easy to install, is easy to add storage, is easy to try docker containers and VM's. There are also detailed and helpful tutorials by SpaceInvader One on youtube. If you're looking for self hosted with an app store like environment, Unraid may be your best option. ---------------------------------------------------------------------- Jonteponte71 · 2023-12-20 00:16 Once you get into apps that need databases and things like that, it gets complicated running everything on bare metal on one host. One of the pro’s of docker is just that. Every container has all the cmpnents the application needs to function as well as possible. And as many as you have cpu cycles for can run on the same host. I run 18 of them on my NAS with a pretty weak CPU. And still idle under 10% load. ---------------------------------------------------------------------- paskal007r · 2023-12-20 00:33 Idk, I did appreciate the suggestion ---------------------------------------------------------------------- Wreid23 · 2023-12-20 00:37 Check the sidebar of the sub reddit a whole lot but I don't wanna send you down a rabbit hole lol. I started with medusa, sabnzbd, couch potato and the arr stack experimenting what was best for getting shows/ movies for me on a small nas then came home assistant, mealie, watchtower, homepage dashboard and a million other things to try after that and getting ready for a second nas build sooner than later ---------------------------------------------------------------------- LuckyHedgehog · 2023-12-20 01:01 The main thing is when applications are competing for the same ports, for example. Or if an app needs a DB with a particular version installed that is different from another. Or if an application update breaks the environment, and you need to reinstall, now you need to rebuild all of your applications. There is also data and application security that is much easier to lock down from containers than an app directly installed on the server ---------------------------------------------------------------------- dudeude · 2023-12-20 01:26 I agree with you but I disagree with your keyboard: proxmox and plex 😜 ---------------------------------------------------------------------- belly_hole_fire · 2023-12-20 02:00 D'oh ---------------------------------------------------------------------- Sparrow538 · 2023-12-20 02:11 Congrats on the new home lab. Depends on what you want to learn or do. Do you want to learn networking? I stall MikroTik Want to learn server management? Install (OK, that list is kinda long) . Want to learn virtualization? Install VMware or Proxmox All depends. That's what is great with a home lab. ---------------------------------------------------------------------- highly_confusing · 2023-12-20 02:23 Learn what localhost is. You will deal with it in every single thing you self host. Once you understand what that means and how to setup a service using local host everything else is easy. ---------------------------------------------------------------------- reddit__scrub · 2023-12-20 02:26 What CPU? I run probably about 15-20 containers within a VM on TrueNAS with an i3 6100 and ~24GB ECC RAM and I feel like I'm right on the verge of needing to move the containers to a dedicated server possibly with a newer CPU and leave TrueNAS on the i3. Or heck, upgrade both. I think the fact that I have to do CIFS mounts the NAS inside of the VM for docker to use as bind mounts is hurting performance in some scenarios. I think splitting out the containers would at least remove one layer of virtualization, and free up the NAS's CPU to strictly serve up files (right now, heavy load in containers means slow file exploring on client computers) That, and likely needing to be smarter on where container configs / cache lives. e.g. right now most config folders live on the CIFS bind mounts, except when a SQLite db is involved, those need to be "local" on the VM for things to function. ---------------------------------------------------------------------- 10leej · 2023-12-20 02:32 Dont even start with services. All "homelabs" start with a centralized file server. So figure out samba/NFS first. Backup your desktop/laptops data to it. From there decide where you want to go next. ---------------------------------------------------------------------- Jimbuscus · 2023-12-20 04:12 +1 for portainer/portainer_agent, it will help you understand docker better from a beginner position than the automated systems like CasaOS. ---------------------------------------------------------------------- ParkingPsychology · 2023-12-20 04:59 > Its a fun and frustrating hobby. At some point you get the hang of it. Once you know how to deploy dockers and you've done it a few times and you know how to quickly recognize a mature open source project the frustration is mostly gone. ---------------------------------------------------------------------- boli99 · 2023-12-20 05:17 Start by working out how to run a VM Maybe thats with Proxmox, or maybe its with Libvirt/KVM - or any one of half a dozen other ways. VMs will make your life much easier going forward. Do that first. ---------------------------------------------------------------------- Cybasura · 2023-12-20 06:08 Samba file server ---------------------------------------------------------------------- makanimike · 2023-12-20 07:37 And one you think you get the hang of it, it bites back. Like suddenly deciding not to boot up again. And demanding a couple of days of troubleshooting... :( ---------------------------------------------------------------------- pandaeye0 · 2023-12-20 08:06 It's not going to be popular, but I would say if you are not familar with linux, try to learn shell commands and linux file structure, so that at least you know what command you are sending to the computer when following the installation instruction of an application, and have a basic idea on which folders you can safely alter and which you better avoid. It won't give you instant achievement but you will build up your understanding on the linux os and the confident using it. ---------------------------------------------------------------------- Haliphone · 2023-12-20 08:12 Yeah my problem is that I should really learn more about the How's and the whys. I follow tutorials. Things work until they don't then I have to figure out why. I mean I could dedicate some time to all this extra learning but where is the fun in that! ---------------------------------------------------------------------- vlad_h · 2023-12-20 08:24 Here is a good entry point. https://free-for.dev/#/ ---------------------------------------------------------------------- therealSoasa · 2023-12-20 09:03 All the gear and no idea .... Why not have a plan to do something that interests you rather than picking up loose ends off what others are doing Take something you enjoy doing or have some smidgin of interest in and try and see how that piece of compooter can better your hobby in some way. It doesn't have to be ground breaking stuff , could just be a program or app that let you manage your comic book collection or trading cards, nuts & bolts, meal plan, your workout schedule, anything that's rewarding to you is better than some random plex, proxmox, pihole, movie poopshoot dot com malarkey. ---------------------------------------------------------------------- Ok_Corner_3303 · 2023-12-20 11:06 I started out around 3 months ago. Built a super cool server with all the stuff I need and more. I'd recommend watching a bunch of tutorials and go with Proxmox. Install a CasaOS LXC onto it. Then after learning config basics, install Cosmos Cloud for automated networking and security management. Portainer will also help you along the way, as it is much more stable than both systems for managing docker apps, but much harder to use. CasaOS is a docker container manager with an appstore for newbies or for those wishing for easier management. Cosmos does the same but is more complex in setting things up and configuring. But it's still extremely easy to use compared to other apps. It comes with security integrations and proxy/broadcasting to your own domain, so you can make a remote server more easily, without studying complex systems, such as Traefik/Nginx. Basically automated networking, it creates everything for you. You just need to configure the domain and DNS Challenge (SSL/HTTPS), such as Cloudflare. Don't forget backups. There are also many automated installation scripts for containers, use them. Learn from them. Also, use ChatGPT for correcting code (basic code btw) and answering questions, it will be your biggest ally. ---------------------------------------------------------------------- Ok_Corner_3303 · 2023-12-20 11:19 Once you know the kind of systems available you WILL need more services than that. Read more on the ARRs, Sonarr, Radarr, Readarr, Bazarr, Lidarr, Prowlarr (Jackett is dead), Notifiarr. Switch from Plex to Jellyfin. Get Jellyseer instead of Overseer for requesting movies/series. Having your own Netflix that manages itself is much better than downloading stuff one by one. Don't forget to attach qBit to a VPN container, configure a kill-switch just for it too. Don't do Unraid, Truenas, or the other crap. Build a Proxmox server, that's the best you'll ever get. One-click setup. Put a Ubuntu LXC and start from there with Docker. CasaOS is a good start for a management interface. Backup your Docker Composes. ---------------------------------------------------------------------- seniledude · 2023-12-20 12:23 Docker containers are great. Grab one of the n100 mini pc and let it rip. I use a mini pc with j4125 for my dockers. Have about a dozen running on it. ---------------------------------------------------------------------- Interesting-Work3131 · 2023-12-20 13:15 Do a bit of research, try to learn what might be useful to self-host( there's everything). I would start with a virtualization server, virtual machines are very useful to try things and discard them, Proxmox is an excellent choice. ---------------------------------------------------------------------- thehackeysack01 · 2023-12-20 15:31 I would start with network services like dhcp, dns, pihole, and an internal dns domain like .home so server1.home, server2.home There are tons of variations. Instead of Fedora, look at proxmox as the base OS on your mini pc and then virtualize your services on various hosts there. Split that one PC into many many many PCs. ---------------------------------------------------------------------- SEND_NUKES_PLS · 2023-12-20 16:13 Docker > Portainer > PiHole/AdGuard ---------------------------------------------------------------------- ParkingPsychology · 2023-12-20 23:46 Nah, I just have a simple backup script that backs up the config directories and I have the deploy command saved (and also backed up). So redeploying to another computer is really easy (copy the backup, then run the deploy command) and if I have to restore the config from a few days ago that's really easy as well (stop container, copy, paste, start container). That's the real power of docker, if you deploy with commands/scripts, it's self documenting. I've redeployed containers to other computers a few times, never had an issue, but I tend to stay away from UIs and have a worklog, that makes it easier. ---------------------------------------------------------------------- ParkingPsychology · 2023-12-20 23:49 I always store my commands, so I can just "scroll up" to see how I did something last time. Most of the time I'm just scrolling and copy pasting because there's not that much difference between one container and the next. Maybe 1 or 2 parameters that need to be figured out. ---------------------------------------------------------------------- Haliphone · 2023-12-20 23:55 I've started to keep a journal 😂 ---------------------------------------------------------------------- ParkingPsychology · 2023-12-20 23:57 If you don't have a backup solution, it's easy to setup a private github and then back it up there with github desktop That way if the computer that has the journal breaks you won't lose it. ---------------------------------------------------------------------- Haliphone · 2023-12-21 00:21 That's super smart. Thanks for the tip ---------------------------------------------------------------------- ParkingPsychology · 2023-12-21 00:38 I'm happy that you found it helpful. Best of luck. ---------------------------------------------------------------------- clockworkmcd · 2023-12-21 18:44 ok so having read through a bunch of this, i'm going to back you up a little bit. first off, congrats and welcome to the homelab community! so of course everybody has their own opinion, but one thing that i think is very important is your base. you've already got your hardware it sounds like. secondly is your os. from my experience and from what a lot of other people on here has mentioned is proxmox. you'll want to start with that. there's a lot of reasons why but for a beginner it will give you the foundation to run vm's and containers. if you don't know what those are then i'd highly recommend learning about because you'll be getting into those pretty quickly and you might as well start at the right place. ---------------------------------------------------------------------- paskal007r · 2023-12-21 20:29 MVP! Thanks mate! You gave me the what AND the why! ---------------------------------------------------------------------- clockworkmcd · 2023-12-21 20:40 hey, anytime! ;) ---------------------------------------------------------------------- souam666 · 2023-12-24 00:54 Lots of people are saying try this app and try that one. You need to learn the core skills to jame a few: - Networking fundamentals - linux fundamentals - containers (avoid appliance OSes like unraid to start sp you get a strong understanding of what's happening. It'll make troubleshooting in the future a lot easier) - security. Don't bypass security. From host to networking. If you don't have anything you keed to have running now, take the time to learn and make mistakes. In the long run, it will only benefit you. If you know how things work, when they break, just looking at some log will tell you exactly what to fix. And again, stay away from appliance OSes, the big problem with easy is that it comes with limitations, take synology by exemple. It runs an end-of-life version of docker. Unraid is very inconsistent with updates. The best thing to do is to get a hypervisor like peoxmox and run all your services in VMs. It makes thing easier to back up and repair errors. If you mainly need a NAS then using something like trunas either in a VM (not in a mini pc since you don't have a controller to pass)or bare metal then run a vm with your services. Hope my scramble thought process helps. ---------------------------------------------------------------------- driversti · 2023-12-24 09:25 Dude, don't start with fundamentals, networking and so on. You will get tired and overwhelmed before you run any kind of app. What I would suggest is installing Docker Engine for Linux and running any application that you see is interesting. You will get quick success that can motivate you to continue. Once upon a time you will understand that you want/need to know more about fundamentals, networking and other stuff. At least, this is my path.