One thing i’ve learned over the years is the way I did something when I was learning is usually not the best way of doing it, and I later go back and redo everything now that I have gained experience and knowledge. I have decided to ditch google photos, and was lucky enough to snag a free rackmount 2017 server from work with an i7 installed and 2 6tb drives on the way. But now comes the hard part of deciding what software I am going to end up learning on and hopefully living with. First and foremost I want a photo backup service, and I have debated between immich and xpenology, I also know that I want to run Pihole and would really like to self host my own website documenting my projects, even if no one will ever look at it.

If you had to start from the beginning, which OS, which container manager and which containers would you build. I would love the recommendations from those who walked so that I can run

  • Ursa_Solaris@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    I already apply these rules myself, but these are the five major things I emphasize to everyone.

    1. Don’t overcomplicate things. You don’t need Proxmox on every machine “just in case”. Sometimes, a system can be single purpose. Just using Debian is often good enough; if you need a single VM later, you can do that on any distro. This goes for adding services, too. Docker makes it very easy to spin things up to play with, but you should also know when to put things down. Don’t get carried away, you’ll just make more work for yourself and end up slacking and/or giving up.

    2. Don’t put all your eggs in one basket if you can avoid it. For instance, something like Home Assistant should run on its own system. If you rely heavily on your NAS, your NAS should be a discrete system. You will eventually break something and not have the time or energy to fix it immediately. Anything you truly rely on should be resilient so that your tinkering doesn’t leave you high and dry.

    3. Be careful who you let in. First, anybody with access to your systems is a potential liability to your security, and so you must choose your tenants carefully. Second, if others come to rely on your systems, that drastically reduces your window to tinker unless you have a dedicated testbench. Sharing your projects with others is fun and good experience, but it must be done cautiously and with properly set expectations. You don’t want to be on the receiving end of an angry phonecall because you took Nextcloud down while playing around.

    4. Document when it’s fresh in your mind, not later. In fact, most of the time you should document it before you do it. If things don’t go according to plan, make minor adjustments. And update docs when things change. What you think is redundant info today might save your ass tomorrow.

    5. Don’t rely on anything you don’t understand. If it works, and you don’t know how or why it works on at least a basic level, don’t simply accept it and move on. Figure it out. Don’t just copy and paste, don’t just buy a solution. If you don’t know it, you don’t control it.

  • M-fz@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    Never offer Jellyfin to friends / family so I could downgrade to a much smaller, cost efficient server. Hell if I didn’t have to stream outside the house I’d probably use a raspberry pi for the rest, those things are super capable now.

  • Heas_Heartfire@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    I got a 4TB drive thinking it would be plenty for plex. Oh boi was I wrong. Specially when shows started to come in.

    A 12TB drive is on the way and I’ll leave the 4TB one for immich and nextcloud alone.

    I don’t have any issues with ubuntu server and I like portainer so I don’t think I’d set things up differently. I should organize and backup the docker compose files though.

    • Tharunx@alien.topB
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 months ago

      Do you use immich or nextcloud memories(nextcloud app) for backing up your main photo library?

  • GoobyFRS@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    I moved to TrueNAS Scale from Core. My worst decision ever. Core was more stable, faster, and the jails actually worked as expected without some shit k3s cluster nonsense.

  • highedutechsup@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    Never buy into a platform, they tend to waste a lot of my time on changing things to upgrade versions that have no point except to change the whole platform, and the things you like to use get deprecated. Or they never get to where you want to be. Your vision is not the maintainers vision. Learn to roll your own…everything.

  • Sinister_Crayon@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    It’s a homelab. I start from scratch about every 2 years just because I can.

    The only consistent element is the data on the system… the operating system, applications and frameworks often get a workout.

    Having said all that, my current setup is working exceedingly well for my use case and I don’t know that I’m going to change it en-masse any time soon. Individual apps will change though I’m sure.

  • Aurailious@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    I’m going to go against the grain and say use K8s from the beginning, or maybe more broadly gitops. I now use a mix of nuc and pi with Talos Linux and deploy with argocd. My entire stack is run from git repos. For me thats really easy and makes running my lab and selfhosted parts a lot less work.

    Though the learning experience going from vm management to docker, to compose, to K8s, to gitops has been valuable.

  • lilolalu@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 months ago

    Unpopular opinion: don’t use any of the Truenas, unRAID, freenas, Openmediavault, proxmox stuff. Sooner or later you will run into something those special interest systems can’t do and it will feel annoyingly limiting.

    Choose a widely used vanilla Linux distro, Debian or Ubuntu, install everything as docker container, learn how to handle docker compose and how to configure stacks via docker-compose.yml