I have been wanting to self-host recently I have an old laptop it’s a Toshiba satellite m100-221 sitting around it only has 4gb of ram, but I don’t know what is a good starting point for an OS for my home lab I discovered yunohost but heard mixed opinions about it when searching I would like lemmy’s opinion on a good OS for a beginner wanting to start a home lab I would prefer a simple solution like yunohost but would like it to be configurable it’s fine if it needs a bit of tinkering.

  • billwashere@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    13 days ago

    Start with docker. Any OS will do. Most Linux distros are better but I run docker on Mac, Linux, Windows (not a lot in windows since I despise Microsoft but it does work).

    The great thing about docker is it is very portable, modular, and easy to get back to a known state. Say you screw something up, just revert and start over. It’s also very easy to understand in my opinion. It’s like all the benefits of virtualization with much less over head.

    • mic_check_one_two@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      13 days ago

      Yeah, my only note is that Docker on Windows is… Kinda fucky? It uses WSL to run Linux in the background, which means that the volumes it creates aren’t easily accessible by Windows. If your container requires editing a config.json, for instance… That can be daunting for a newbie on Windows, because they won’t even know how to find the file.

      You can work around this by mounting your volumes directly to a C:\ folder instead, but that’s something that many tutorials just completely skip past because they assume you already know that.

      • billwashere@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        13 days ago

        I’ve never understood the reason for WSL. If you want Linux, run Linux. At the very least in a VM.

  • cecilkorik@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    13 days ago

    I’ll add a vote to all the people suggesting Yunohost. Yunohost is a perfect place to get your feet wet with basically no experience required. I’ve played with it myself and it does a good job of simplifying and holding your hand without oversimplifying or keeping you on a strict, tight leash. It even helps you deal with common newbie issues like dynamic IPs so you can become more reliably available on the internet, something that a lot of other guides just assume you’re going to have a static IP assigned by your ISP or VPS and handwave away the complexity of what you’ll have to do if you have a dynamic IP like most home connections. (Experienced self-hosters gradually discover that having access to a static IP somewhere, anywhere, makes life a lot easier, but don’t worry, you’ll get there too eventually, it’s not important when getting started)

    You can get started by working your way through the process here.

    • 3dcadmin@lemmy.relayeasy.com
      link
      fedilink
      English
      arrow-up
      0
      ·
      13 days ago

      I agree but I do have to say that Yunohost is becoming bloated. Successive versions run way slower than they used to - I know it is part of the security and ease of use but it is becoming noticeable. You can also use some docker things in yunohost but for an absolute beginner Yunohost is by far the best way to do it.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      13 days ago

      That sounds overly complicated, why get VMs involved? Just install Debian or something and get things working.

      Proxmox is good if you know you want multiple VMs running for specialized needs. But multiple VMs isn’t happening on 4GB RAM.

      • downhomechunk@midwest.social
        link
        fedilink
        English
        arrow-up
        0
        ·
        11 days ago

        Your approach works too. Something like CasaOS answers OP’s question directly. I was thinking about how I started on this journey. I wanted to play with enterprise level tools at home on repurposed e-waste. So I started with proxmox. But I also came to the table with a couple decades of Linux experience under my belt.

        Those scripts make it so easy. You can paste a command, accept defaults, watch some text scroll by and finish with instructions on how to access the tool you just installed.

        My homelab is low power as well. I’m currently running zero VMs. Everything is done with LXCs. You can run a pi hole on 512 MB RAM.

      • Windex007@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        13 days ago

        Easily can have multiple LXCs, and being able to take snapshots for backup is probably a nice thing to have if you’re just learning.

        And if they get more hardware, moving VMs to other clustered proxmox instances is a snap.

        • sugar_in_your_tea@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          0
          ·
          13 days ago

          If you just want LXCs, use Docker or Podman on whatever Linux distro you’re familiar with. If you get extra hardware, it’s not hard to have one be the trunk and reverse proxy to the other nodes (it’s like 5 lines of config in Caddy or HAProxy).

          If you end up wanting what Proxmox offers, it’s pretty easy to switch, but I really don’t think most people need it unless they’re going to run server grade hardware (i.e. will run multiple VMs). If you’re just running a few services, it’s overkill.

          • Windex007@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            13 days ago

            If you’re just running a few services, and will only ever be running a few services, I agree with you.

            The additional burden of starting with proxmox (which is really just debian) is minimal and sets you up for the inevitable deluge of additional services you’ll end up wanting to run in a way that’s extensible and trivially snapshotable.

            I was pretty bullish on “I don’t need a hypervisor” for a long time. I regret not jumping all-in on hypervisors earlier, regardless of the services I plan to run. Is the physical MACHINEs purpose to run services and be headless? Hypervisor. That is my conclusion as for what is the least work overall. I am very lazy.

              • drkt@scribe.disroot.org
                link
                fedilink
                English
                arrow-up
                0
                ·
                edit-2
                13 days ago

                They use some of the same kernel functions but they are not the same. They are not comparable. LXCs are used to host a whole separate system that shares kernel with its host, docker is used to bundle external requirements and configs for a piece of software for ease of downstream setup. Docker is portable, LXCs much less so.

                • sugar_in_your_tea@sh.itjust.works
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  13 days ago

                  Sure, Docker is more or less an abstraction layer on top of LXC. It’s the same tech underneath, just a different way of interacting with it.

  • adarza@lemmy.ca
    link
    fedilink
    English
    arrow-up
    0
    ·
    13 days ago

    don’t expect a 19 year old laptop to perform all the tricks something more ‘modern’ can do, such as transcoding video for a streaming media server. also note that a t5600 is not a ulv chip (draws as much as 34w under load, on its own)–so probably not a candidate to run ‘lid down’ without some outside help for cooling.

    it’s not fast, it’s not power efficient, it has slow networking (10/100 and 22-year old ‘g’ wifi), and lacks usb3 for ‘tolerable’ speed on extra external storage space—but it will be ‘ok enough’ for learning on.

    if you go with something like yunohost or even dietpi, you will pretty much restrict yourself to what it can run and do and how it does it. if you want more ‘control’ or to install things they don’t offer themselves, you’ll need to ‘roll your own’. a base (console only) debian would be a great place to start. popular, stable, and tons of online resources and tutorials.

  • Botzo@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    13 days ago

    I might recommend starting with a project.

    Something like getting pi-hole running. This would help you learn some of the networking basics. But I’d recommend reading at least enough to have a conceptual foundation about the things you don’t understand along the way (DNS, DHCP, etc).

    You’ll want one of their supported OS choices to keep things simple. That means one of: fedora, debian, ubuntu, or centos. I might steer you away from centos just because its user base is a bit more linux-pro so finding specific help might be more daunting, but I don’t have much experience with it either. Maybe use a “server” variant to keep your system demand to a minimum (boot to terminal only).

  • oeuf@slrpnk.net
    link
    fedilink
    English
    arrow-up
    0
    ·
    13 days ago

    I’ve been using YUNOhost for the last 3 years and it’s been great. I had no prior experience and would have had no chance of self-hosting without it.

  • dizzy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    13 days ago

    I used yunohost for a bit and while it was easy setup, it wasn’t easy to troubleshoot weird errors because hardly anyone uses it.

    I’d recommend setting up:

    • debian with a desktop environment to start with
    • figure out how to ssh into it from your main machine and maybe how to use tmux
    • docker and how docker works
    • self-hosting services using docker
  • darkan15@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    13 days ago

    I have a Dell Inspiron 1545, that has similar specs to yours running Debian with Docker and around 15 services in containers, so my recommendation would be to run Debian server (with no DE), install docker, and start from there.

    I would not recommend proxmox or virtual machines to a newbie, and would instead recommend running stuff on a bare metal installation of Debian.

    There are a bunch of alternatives to manage and ease the management of apps you could choose from like, yunohost, casaOS, Yacht, Cosmos Cloud, Infinite OS, cockpit, etc. that you can check out and use on top of Debian if you prefer, but I would still recommend spending time on learning how to do stuff yourself directly with Docker (using docker compose files), and you can use something like Portainer or Dockge to help you manage your containers.

    My last recommendation would be that when you are testing and trying stuff, don’t put your only copy of important data on the server, in case something break you will lose it. Invest time on learning how to properly backup/sync/restore your data so you have a safety net in case that something happens, you have a way to recover.

    • bradbeattie@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      13 days ago

      As a counterpoint to no proxmox, I get a lot of utility in being able to entirely destroy and reprovision VMs. I get it adds a layer of complexity, but it’s not without its merits!

      • darkan15@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        13 days ago

        I get your point, and know it has its merits, I would actually recommend Proxmox for a later stage when you are familiar with handling the basics of a server, and also if you have hardware that can properly handle virtualization, for OP that has a machine that is fairly old and low specs, and also is a newbie, I think fewer layers of complexity would be a better starting point to not be overwhelmed and just quit, and then in the future they can build on top of that.

    • darkan15@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      13 days ago

      XKCD 2501 applies in this thread.

      I agree, there are so many layers of complexity in self-hosting, that most of us tend to forget, when the most basic thing would be a simple bare metal OS and Docker

      you’ll probably want to upgrade the ram soon

      His hardware has a max ram limit of 4, so the only probable upgrade he could do is a SATA SSD, even so I’m running around 15 docker containers on similar specs so as a starting point is totally fine.

      • Owl@mander.xyz
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days ago

        simple bare metal OS and Docker

        That’s exactly what the XKCD is about, what you wrote is just like the chemical formulas they are talking about in the comic for your average person

        • Lumisal@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          12 days ago

          Agreed.

          I’ve been using Linux for years.

          I’ve done minor coding.

          I’ve even installed Adguard and a VPN on a router.

          Built my own water cooled PC.

          I still don’t quite understand what Docker is or does, or containerized stuff. I’ve avoided most networking stuff since XP, and it’s basically a completely other field of tech as far as I’m concerned, like Math is to Physics.

      • Korhaka@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days ago

        Surely most basic is an old computer and double clicking minecraft_server.jar? Pretty sure that is the first server I ran for people outside of my LAN actually.

  • LazerDickMcCheese@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    13 days ago

    Hosting isn’t OS specific, and in my experience its more about docker. But as far OS goes, I’d say Debian or Ubuntu with the intent of moving onto something like Proxmox

  • Björn Tantau@swg-empire.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    13 days ago

    Without knowing what you actually want to do, I’d put Debian on it. Very good, very stable, very widespread OS with plenty of tutorials around for whatever you decide to do with it. Do a minimal installation and 4 GB RAM are plenty to play around with.

  • melroy@kbin.melroy.org
    link
    fedilink
    arrow-up
    0
    ·
    13 days ago

    Nobody is saying it, so I will. The most important thing is to just get started!

    It doesn’t matter if you go for a plain Debian server or a fancy proxmox installation with high availability. I believe the most important thing is just to start and experiment. And enjoy!