Hey guys, I’m new to self-hosting; I’m trying to set up cloud storage to store pics and other content. However, I’m unsure whether to use my old computer, Buy NAS or ResberryPie to set up a home server.

Also, what is the best privacy-friendly OS to use with the home server?

Lastly, do’s and don’ts.

Any help would be appreciated (:

  • juli@programming.dev
    link
    fedilink
    English
    arrow-up
    35
    arrow-down
    2
    ·
    11 months ago

    Use docker compose . Like “everyone” uses it. If the service doesn’t have a compose file, request it, or write it yourself as son as you are knowledgable enough.

    Use podman as soon as people and services switch to it (you’ll know when the latest tutorials talk about podman instead of docker).

    Use ngingx proxy manager or another easy to use reverse proxy.

    Don’t think it’s production ready after it was working 2 days. It may be, but it’s unlikely you have enough knowledge how to fix things.

    Automatic updates.

    Don’t install crap on the system.

    • Scrubbles@poptalk.scrubbles.tech
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      1
      ·
      11 months ago

      This is a good way to get started.

      Docker and Docker compose on whatever hardware you want to start on.

      Don’t think it’s production ready after it was working 2 days. It may be, but it’s unlikely you have enough knowledge how to fix things.

      Most important there. You aren’t building a production system for corporate clients, you’re doing this for fun. Focus on one thing, try to get that one thing running. Toy with it, make it work. Then start on your next thing. Slowly you’ll build up a large system, but it won’t be immediate.

      I personally have been working on switching from compose to kubernetes, which is way more advanced than a starter needs - but I’ve been slowly migrating for about 4 weeks now, one service at a time. Just how homelabs are done

        • Scrubbles@poptalk.scrubbles.tech
          link
          fedilink
          English
          arrow-up
          4
          ·
          11 months ago

          For home use? Barely any. You can use multiple computers to spread out your load, which is nice for me because I have about 20ish containers running with differing workloads.

          But I’m also a developer who needs to keep up on devops, so it’s mostly a learning thing for me. But I gotta say it’s real nice having everything laid out in a few yaml files that I can tear down and rebuild on a whim

          • Kaldo@kbin.social
            link
            fedilink
            arrow-up
            1
            ·
            11 months ago

            having everything laid out in a few yaml files that I can tear down and rebuild on a whim

            Oh absolutely, but for me docker compose already does that. Kubernetes might be a good learning exercise but I don’t think I need load balancing for 1 user, me, on the home network 😅

        • sudneo@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          11 months ago

          Some additional benefits also are the management of secrets. In compose you will shove them inside a .ENV file if not directly inside the compose file, while in Kubernetes you can use the secrets resource or even plug in Vault relatively easily. Stateful storage is also better handled. Named volumes are nasty to keep track of, backup and it’s not possible to spread them across multiple devices (as in disks) while bind mounts are insecure in general. Kubernetes provides a storage abstraction which is easier to manage.

          Obviously the big advantage comes when you want to run stuff on multiple devices to spread the load (or because the one box is saturated), since with compose you would need completely custom and independent setups.

          Finally, I would say that running compose makes it much harder to have a monitoring stack supporting your services, since you will need to do all the plumbing for metrics endpoints yourself. And - very last - you can have admission controllers in Kubernetes that prevent certain configuration (e.g. Kyverno with a bunch of default policies), while with compose you need to manually vet every compose file and image (for example, to ensure it doesn’t run as root).

          That said, compose is perfect to get started and to run stuff on one machine.

  • rambos@lemm.ee
    link
    fedilink
    English
    arrow-up
    14
    ·
    11 months ago

    Start with hardware you have already, its high likely overkill anyway. If you have CPU that supports quicksync (intel 7th gen or newer iirc) you could remove GPU to reduce power consumption. QuickSync will make streaming easy.

    Raspberry pi cant transcode so its not best for media server, but it can direct play so that might not be an issue at all. I upgraded from rpi to desktop PC because I had issues with power on rpi USB ports for storage. Its also impossible to upgrade RAM on rpi. Good thing about rpi is super low power consuption, but some small factor PCs can drain ~10W. My PC was at 22W with 3 SSD. You can get power meter like Shelly plug S to see power consuption yourself.

    Any OS (I use debian) of your choice + docker and docker-compose. Then install portainer and manage all services from there.

    • For pictures try Immich, its amazing.
    • For cloud storage Nextcloud
    • For media streaming consider Jellyfin (much better than Plex IMO)
    • Check wiki.servarr.com if you are downloading content with torrents or usenet. It can automate everything and provide awesome UI for users. Next level torrenting
    • If you have only 1-2 users consider Wireguard or tailscale to connect when not at home.

    I was going this route and Im super happy with everything

  • SayCyberOnceMore@feddit.uk
    link
    fedilink
    English
    arrow-up
    14
    ·
    11 months ago

    Whatever you do:

    • keep notes
    • consider the 1st build “wrong”
    • “destroy” it (before it’s the only place your data is stored in)
    • build it again

    That means you’ll really understand it and how to maintain it.

    And others have said: 3-2-1 backups

  • shalva97@lemmy.world
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    edit-2
    11 months ago

    Don’t use Raspberry pi.

    • It is overpriced and slow.
    • SD Card write speeds are low
    • you will need external storage
    • Arm architecture, so some programs might not work
    • power issues
    • slow USB

    A cheap old laptop will work a lot better.

    • it might not have AC wake up (if power goes out, you will need to manually turn it on)
    • it might have always on cooler
    • it supports SATA SSD without adapter

    I think Raspberry pi is only good if you need gpio, otherwise save money and use an old laptop.

    • modcolocko@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      17
      arrow-down
      2
      ·
      11 months ago

      Don’t use Raspberry pi.

      Oversimplified and in many cases is not good advice. Raspberry Pis are perfectly capable low cost home servers that absolutely sip power and take up little room.

      Mini pc’s such as dell optiplex micro’s and intel nucs are also a good consideration.

      • memmi@lemm.ee
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        11 months ago

        Exactly. Just know the limitations and capabilities of your hardware and implement your system accordingly. My Rpi4 works well for adguard home, wireguard, NPM etc. While my media server and other resource heavy stuff are installed on a Mini PC.

      • shalva97@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        3
        ·
        11 months ago

        How can you day"low cost home server"? they cost so much and when you need them they are out of stock

  • cmnybo@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    10
    ·
    11 months ago

    The Raspberry Pi can work if you don’t need a lot of space or high performance. You will need an external drive or two for it. The power consumption will be very low too.

    You can use an old PC if you need more drives. Just don’t use an old gaming PC since the power consumption will be rather high.

    • Sestren@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      You can always just undervolt the cpu and take out the gpu. Sure, a 1000w power supply is going to be inefficient at 20% draw, but if you already have old hardware it isn’t always cost effective to replace it just because of a higher power draw.

      Also the pi is great for stuff like dns and network storage, but it’s going to struggle with transcoding as a media server. I can’t speak for the 5 from personal experience, but the 4 was completely incapable as a jellyfin/plex server. I just use an old stripped down computer for media and the pi is relegated to dns adblocking.

      • cmnybo@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        For real time transcoding, you will need a PC with a newer CPU that supports hardware H.265 encoding.

        • lemmyvore@feddit.nl
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          Do you mean 12-bit? Because previous versions have been supported since 2015-2016.

          • cmnybo@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            2
            ·
            11 months ago

            I would still consider an 8 year old CPU to be fairly recent considering performance has only increased a couple percent per generation.
            12 bit video is uncommon, so support for it is not really needed. Intel Skylake or newer will work for 8 bit H.265.
            If you have any video in 10 bit H.265, you will need a Kaby Lake or newer CPU in order to decode it in hardware. Software H.265 decoding will limit it to 1 or 2 streams depending on the CPU and video quality.

  • Amends1782@lemmy.ca
    link
    fedilink
    English
    arrow-up
    10
    ·
    11 months ago

    Old think pads can be had for dirt cheap on eBay, you’ve essentially got a little server you can hide anywhere, you don’t have the keep the lid open (disable sleep on lid close, you can hide it wherever you want now) , ANDmost importantly it has it’s own little integrated UPS :)

  • WhyAUsername_1@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    11 months ago

    Any cheap PC is going to be way better than raspberry Pi.

    Also, may I suggest you to checkout Immich? I am in love with the project and have been using it as Google photos replacement.

    Welcome to selfhosting!

    • Caboose12000@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      11 months ago

      i found their site and in confused by this part of their intro page:

      “That was how the idea started to grow in my head. After that, I began to find existing solutions in the self-hosting space with similar backup functionality and the performance level of the App-Which-Must-Not-Be-Named. I found that the current solutions mainly focus on the gallery-type application. However, I want a simple-to-use backup tool with a native mobile app that can view photos and videos efficiently.”

      what is the main thing that separates immich from other “gallery-type applications”? wouldnt all comparable apps have some kind of gallery?

      • WhyAUsername_1@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        11 months ago

        What are you comparing it with? Something like photoprism? If so, then photo prism does not allow you to have multiple users. (Atleast it wasn’t there when I used it last time)

        If you compare it with Lychee, then Lychee does not have facial recognition.

  • JASN_DE@feddit.de
    link
    fedilink
    English
    arrow-up
    8
    ·
    11 months ago

    Always remember: RAID is not a backup.

    Having only one backup and the server dying means you now have no backup, therefore the 3-2-1 scheme for backups is worth looking into.

    • inson1@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      2
      ·
      edit-2
      11 months ago

      I wouldnt never do raid with only 2 disks, it doesnt seeem safe tbh, 3 disks min (2 disks as backup)

      • rentar42@kbin.social
        link
        fedilink
        arrow-up
        2
        ·
        11 months ago

        Raid 5 with 3 drives survives one dying disk. Raid 1 (mirroring) with 2 disks survives one dying disk. if either setup loses two disks all the data is gone.

        When you run 3 disks then the odds of two failing are higher than if you run 2 disks.

        So 3 disks are not significantly safer and might even be worse.

        That being said: both setups are fine for home use, because you’ve set up real backups anyway, right?

        • inson1@lemm.ee
          link
          fedilink
          English
          arrow-up
          1
          ·
          11 months ago

          its little money vs time you spent on it (backups are almost always missing something)

  • badbytes@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    11 months ago

    Micro PC, install Linux. External nas. Or mini-pc with builtin nas.

    Nextcloud is a good platform for hosting self cloud stuff. You might want a fixed ip, or other method to route if wanting to use out of home.

  • MigratingtoLemmy@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    11 months ago

    If you want something that works without you fretting with the base system too much, and gives you a decent GUI to handle the base: Proxmox. Run VMs, run containers on said VMs, and experiment as much as you would like.

    I will personally not be doing this (I plan to run Alpine as my base instead of Debian, even though I hold the latter in very high regard), automate provisioning with Ansible, and exclusively use Podman instead of Docker. I’m willing to go through the pains of not using Docker directly, but at least I’m not learning how to run everything on k8s (which is not a bad idea at all, but for most homelabs without HA, it’s overkill).

    Learn networking, learn container orchestration, learn GNU/Linux (or in my case, non-GNU/Linux - yes you plebs, musl is good) security, auth basics, UNIX permissions, general automation, and give yourself time.

    Also, do not become the family system-admin without having a fair bit of experience doing this already. You don’t want the homelab becoming a job, which means getting to fix it at your own schedule, not when Jellyfin is broken and Wifey is bearing down on you because you cancelled Netflix in favour of your Linux ISO-powered library.

  • Evil_Shrubbery@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 months ago

    A cheap used PC with a Ryzen 9 or something? Ez to maintain, very power efficient, especially when idling (compared to servers, not Pi), and you get to choose the important bits (like what new enterprise level disk you gonna buy, etc) as its easier to upgrade.

    And you get a lot faster CPU than duo Xenon builds in the same price range (used ofc). What you don’t get is ECC & more RAM lanes.

    Also much easier to make it inaudible (or like 18~19dB?) compared to servers.

    I do use a Pi-based Proxmox Backup server.

      • Evil_Shrubbery@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        11 months ago

        I don’t (and it depends on where you live). But R9s have been around for quite a bit, maybe try looking for a 4~5 year old 3900x (or 5900x), you get 12c/24t.

        But it’s not like 7 (8c/16t) series lacks power for a home lab. Really depends on what you wanna do with it. Even a low powered Celeron is plenty for some cases.

        (I am taking about used PCs)

        • Froyn@kbin.social
          link
          fedilink
          arrow-up
          2
          ·
          11 months ago

          Must not be my neck of the woods (US). You mentioned the Pi, which is in my wheelhouse of “cheap”. Personally I’ve got a couple computers picked up from the local community college for $10 running TrueNAS and Proxmox.

          My Google-Fu couldn’t find an R9 3900X for under $200, just the chip, used. I had hopes you had a better source I was missing out on.

          • Evil_Shrubbery@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            11 months ago

            That suxs … but I was thinking 500~700 moneys. And spending some time to look/wait for a good deal. Still I think a Ryzen 3 or 5 (from 22xx onward) is a better investment especially at the beginning when you are perhaps still figuring out what to do with your home lab (and even basic things like not having your HDDs over USB lane). But you have the right idea - opportunities like those 10$ PCs is what I was talking about.

            If I assume RPi 4 or 5 are at about 100 moneys (+ a decent case + maybe with an m.2 hat) - I was just trying to say that a used PC at that price offers much more. RPis are great tho, I’m glad they exist.

              • Evil_Shrubbery@lemm.ee
                link
                fedilink
                English
                arrow-up
                1
                ·
                11 months ago

                My RPi v1.0 (doesn’t even have the mounting holes) is piholing/sinkholing for my parents for about 10 years now.

                It’s getting replaced by two servers soon-ish (main and backup - also as a second location for my servers), but I might just keep it running as a secondary device. Bcs by now it’s tradition.

                Also I never got around to getting it a case so it’s just dangling by the ethernet cable all this time.

  • Jeena@jemmy.jeena.net
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 months ago

    I personally think a NAS would probably be the easiest option and on top of that they are optimized for low electricity consumption, which a PC, especially when it’s older is not. It makes a huge difference because it’s running 24/7 for 356 days a year.

    I used a PC once and didn’t realize that it took always about 300 W so at the end of the year surprisingly the electricity bill was much higher than normally.

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      5
      ·
      11 months ago

      I used a PC once and didn’t realize that it took always about 300 W

      Were you mining bitcoin or something?

        • the_third@feddit.de
          link
          fedilink
          English
          arrow-up
          6
          ·
          11 months ago

          Yeah - that has changed since then. Power usage in the 30 to 40W range is easily attainable of you take some care selecting the components.

            • the_third@feddit.de
              link
              fedilink
              English
              arrow-up
              3
              ·
              11 months ago

              Yeah, those are awesome - but even with an ATX mainboard, a CPU and a few spinning disks it’s become easier to stay on this side of 40W.

  • plague-sapiens@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 months ago

    For a small pocket and low power consumption but incredible performance I would recommend the Odroid M1. Add a cheap nvme drive for the os (I prefer debian) and a 2,5" hdd. On top of debian you can install OMV for a webui based linux home server control. DietPi is nice for beginners too. And like other ppl already said, you can use docker/podman for running your software.

    Oh and don’t forget the 3-2-1 backup rule. 3 Backups, 2 different media types (ssd, hdd, usb stick, cloud, …) and 1 offsite backup (cloud or hdd at your friend’s house).

    • Fahad@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      Thank you for the info. I wasn’t aware of the 3-2-1 backup rule until now.

  • Possibly linux@lemmy.zip
    link
    fedilink
    English
    arrow-up
    5
    ·
    11 months ago

    Go for a used small form factor PC. They usually have a decent amount of house power and can house many drives

  • Fahad@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    11 months ago

    Those are my old PC specs:

    GPU: GeForce GT 240 DDR3 1GB CPU: unknown Motherboard: Lenovo is6xm PSU: Dell L240AS-00 240W RAM: 2x 2GB Storage: 1TB HDD and 128GB SSD

    I want to build a low power consumption yet power enough server to run any apps, etc. What upgrades would be the best for my use case?

    • CmdrShepard@lemmy.one
      link
      fedilink
      English
      arrow-up
      3
      ·
      11 months ago

      You might look for a used Optiplex SFF or micro form factor PC. These can be purchased for around $100 in the US and have full fledged PC hardware which is capable of running most things. The downside here is less peripheral support for things like PCIE or internal storage.

      • Fahad@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        After fighting my old PC the whole day. 😂 I have concluded that not to go with pc. I’m looking at NAS Synology and FreedomBox Pioneer Edition, etc.

        • CmdrShepard@lemmy.one
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          11 months ago

          You can still use one of these with the NAS as storage. A Synology doesn’t have a lot of horsepower to run programs directly on their hardware so if you plan on doing something like a media server you might encounter some issues. An optiplex (or any other PC) running Proxmox will let you run a bunch of different containers or VMs separately

          • Fahad@lemmy.worldOP
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            11 months ago

            You are correct. After speaking to a friend, I have decided to build a new NAS. For less than £200, I can quickly build a decent PC.

            I was surprised by that £200 motherboard and CPU custom build; if I directly buy those Pre-built NASs, that would cost me £1K+ with the same motherboard and cpu.