There are so many options to get started with self hosting that I feel myself stuck in the “paralysis of choice”. For a novice, does anyone have a good resource for the equivalent of good/better/best paths that cover the “basics” (In my mind this is hosting images, music, video, connected home controls, search and email)?

Thinking something like first try path A, if you feel comfortable and your HW can handle A, then try path B, etc. I guess a it of a tutorial mode feeling where you get exposed to key boxing blocks initially and then you are released into the large open world on your own.

I know the advantage of this movement is the choice and the well distributed variety, but just feels hard to start.

I have an old laptop, an SFF workstation and a NAS to play with.

Any suggestions?

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    2 hours ago

    OP, I failed to mention one of the most important things you can do as a novice or even as a seasoned vet: take prolific notes. Write down everything. All the commands, all the steps, you’ve used in conjunction with setting up whatever service you choose, everything. What I do is while I’m in the middle of deploying something, I write everything down. Upon a successful deployment, take those notes, clean them up, and include them in my 3,2,1 back up scheme. Don’t be lulled into the notion that you’ll be able to remember everything 6 months down the road. You wont! That’s the devil talking Bobby Boucher. Take notes. They’ll save your ass in the future.

  • coolie4@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 hour ago

    A lot of good information here so I’ll add something a little different:

    Do Not open any services to the internet, such as for remote access, until you are sure about what you are doing. Doing something like opening a port so you can watch Jellyfin anywhere sounds great, but doing it wrong pokes a huge security hole in your infrastructure.

    Keep everything in your local network until you have a secure remote access setup. Even your home network may be untrustworthy if you’ve got things like IoT devices or compromised operating systems.

  • Muehe@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 hours ago

    Well if you want the real basics of self-hosting then depending on your level of knowledge you may want to follow a Linux tutorial like this one: https://labex.io/linuxjourney

    This will teach a lot of basic knowledge and terminology you may need when setting up or maintaining containers and VMs. Admittedly, this is somewhat tangential knowledge to your immediate goals, but if you want to actually use your self-hosted stuff remotely later this will become critical to doing so safely.

    As for the map, for me it was something like:

    Local LXC/QEMU → Remote LXD over SSH on a RPi → Proxmox on a dedicated box through the webinterface

    In hindsight I would have started with Proxmox directly though I guess. One big downside is it doesn’t integrate well with Docker containers, you have to set up a full VM as your Docker host. On the upside though you can install LXC containers from https://www.turnkeylinux.org/ in a few clicks, so it’s very good for just testing stuff out and playing around.

  • bluGill@fedia.io
    link
    fedilink
    arrow-up
    7
    ·
    4 hours ago

    Start with a problem. What you trying to solve. Hosting music is different from backing up your computer. That is different from a home dashboard.

  • UndergroundGoblin@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    4 hours ago

    Install a PiHole and route your whole traffic through it. Its easy to setup, you learn a bit about networking and the impact is massive. Would always recommend to start with a PiHole.

  • psycotica0@lemmy.ca
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 hours ago

    Similar to others here, but slightly different: start with what you’re most excited about. There’ll be some shitty parts where you’re confused and frustrated, and if you feel like you’re just doing something you’re “supposed to do”, it can feel like a job for no pay. Pick something you have an inner thrill for, and maybe that fire can carry you through the dark.

  • skankhunt42@lemmy.ca
    link
    fedilink
    English
    arrow-up
    8
    ·
    5 hours ago

    Install docker.

    Choose something you want to replace. Docs, image, chat, etc.

    Research replacements for $Service

    Bring up the docker Container and get it working.

    Use it for a day/week as the replacement. If you don’t like it try a different replacement from the list above. Continue until happy.

    Research a replacement for $OtherService

    Bring it up on docker…

    Check resources as you go. Maybe use Linux + docker on laptop and NFS from nas for storage. When the laptop isn’t powerful enough anymore look at adding another docker host. Just keep building from there.

    Also backups. Maybe a wiki to document your journey.

  • czl@lemmy.dbzer0.com
    cake
    link
    fedilink
    English
    arrow-up
    20
    ·
    7 hours ago

    Decide on one thing to do/replace. Google/Apple Photos (immich), Netflix (plex/jellyfin), home automation (home assistant)… I mean the list is extensive, but only you will know what you want to run.

    Then choose an OS you think will work for you. CasaOS if you’re really a beginner. TrueNAS or Unraid in the middle. Proxmox for more advanced stuff.

    Then don’t shy away from docker compose files. 1 click solutions are good, but at this stage what you need more than anything is to understand how things work. This will be very important when you’re hosting 10-20-50 things instead of 1 or 2. Using compose, install your service.

    Finally when it doesn’t work or you see you’ve made a mistake, don’t be afraid to tear it down. Just assume that your first 3 setups are wrong for you. I started with an old laptop using truenas, and I’m up to 3 SFF pcs doing HA with proxmox and ceph. Do I suggest that my setup is the best? Hell no. But I’ve learned and grown into it.

    Don’t be afraid to do something because it won’t be perfect. It won’t be. But it will be a learning experience.

    Oh and keep a backup of anything you don’t want to lose. Don’t feed your photos to immich and then nuke the server and lose all of them.

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    6 hours ago

    I’m the map, I’m the map, I’m the map /s

    (In my mind this is hosting images, music, video, connected home controls, search and email)?

    • Hosting Images: Immich seems to be a hit
    • Music: Navidrome which I use daily
    • Video: Jellyfin seems popular these days. Part of the 'arr stack
    • Home Controls: Home Assistant gets rave reviews
    • Search: Searxng which I use daily
    • Email: MailCow gets some good reviews

    What are the specs on that SFF? Of the 6 I listed, Immich and Jellyfin might need a few more resources, especially transcoding video. I am not familiar with running either. The rest should run within a nominal spec of something post 2015. I’m running that and another 30+ containers on a little Dell Optiplex 7020 SFF with the i7-4790 chip and 32 GB RAM (which is a bit overkill), and it barely breaks a sweat. Load averages usually run .20 .15 .35, essentially sleeping. The only time it’s under a real load is on boot up starting about 40 containers total, and that usually takes less than 2 minutes.

    I mean, you could start lower on the totem pole and work your way up to those 6, but if your equipment is, like I said, within the last 10 or so years, you should be fine to march right on up to the top. That is, unless this is a learning mission for you and you wanted to just ‘try out’ other similar containers. If I were to give you a map, I’d say start with one container. See how it runs. Learn it. Take note of load averages, temps, resources. Then slowly add to the list. Worst case you might have to split the load between a laptop server and the SFF or NAS if it has capabilities to do so.

    There are some security measures to keep in mind with Jellyfin, and with all containers you run really. But Jellyfin seems to need some extra attention, or so I’ve read.

    I’m not sure how far along you are as a ‘novice’, but Linux Upskill Challenge is always a good bookmark.

  • nightm4re@feddit.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 hours ago

    For an easy way to try out what suits you I recommend having a look at yunohost, a self-hosting linux dostribution that wraps all the installers in a nice app store-like experience with single-sign-on for all the installed services.

  • toebert@piefed.social
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    7 hours ago

    I think there is no comprehensive guide because people have varying opinions on what’s “best”. IMO the “best” for everyone is the way that they understand how things work and are comfortable to manage it, regardless of how good or bad someone else says that is.

    My recommendation is to just accept you will not get it right first time, you’ll eventually face the issues and limitations of whatever way you picked and have to either rebuild or adapt.

    Personally, I’d say choose a starting path of do you want to learn about the various technologies and have maximum potential (and, problems to solve) or do you just want to get some of the common apps running and don’t care how as long as they run and be limited by what’s available, but with much fewer issues. Path 1 is following the docker/proxmox path and it may take a lot of reading and watching YouTube tutorials before you get somewhere, path 2 is aiming for something like casaOS or similar and probably watching their getting started will get you results faster but if something breaks or is not available, you may get stuck.

    Last, pick 1 thing that’s your goal and work on getting that there. There is no right order, but the more popular something is the more resources there will there be. https://selfh.st/apps/ is a great resource for finding things. Jellyfin is actually pretty easy to start with and gives you some good paths forward around it (e.g. start with you manually getting your media in the right place, then you can work on adding other apps that will do it for you). I’d advise to avoid self hosting email, it’s rather difficult.

    Once you grasp how things work, it becomes a shopping mall of just add what you want, it’s just climbing that hill at least once that’s hard if you’re not from a tech background.

  • paf@jlai.lu
    link
    fedilink
    English
    arrow-up
    2
    ·
    7 hours ago

    You can find resources for each categories but don’t think there is one that would cover everything and the reason is there is always several ways to do things and not one way for all.

    First you need to choose an OS. You have a few choices here, a good way to start if you don’t have much knowledge on linux command, docker… is to use something like Casa OS, Zima OS which are much more beginner friendly, it basically has a store where you can pick what you need to selfhost. If you already feel more confident and want absolute full control you can use proxmox instead.

    Once you settled your OS, you need to pick what to use sleefhost image, music… Here you have again several solutions, you can check immich for pictures, jellyfin for music/video, home assistant for smart home.