I use Debian as my daily driver, but I’m still a newbie. I would like to selfhost a few apps, initially on a VPS, but I will probably move to a local PC once I diagnose what is broken with my old computer.

The guides at https://selfhosting.sh/ always recommend Ubuntu Server LTS for newbies, but Ubuntu seems to have bad PR and I already run Debian on my home PC. On one hand, I am a newbie and I guess Ubuntu might be easier to set up and maintain. Though, I don’t HOW exactly? On the other hand, if I have Debian on my home PC and on my server, they are the same system, so I’d be learning the same system at two places and with two usage scenarios. But it might be easier to make mistakes on Debian…?

What is your opinion/recommendation?

EDIT: thank you everyone! My gut feeling was Debian and your responses were overwhelmingly in favor of Debian, so Debian it is :)

  • Zwuzelmaus@feddit.org
    link
    fedilink
    English
    arrow-up
    57
    ·
    4 days ago

    I use Debian as my daily driver

    Chances are that you would find Ubuntu not just more complicated, but unneccessary complicated.

    Stay with Debian. It can do everything.

  • hexagonwin@lemmy.today
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 days ago

    ubuntu just feels like debian with unwanted mods on top. if some specific proprietary sw you need only support ubuntu officially then ubuntu’s the better choice, but if not i see no reason to use it tbh

  • TheOubliette@lemmy.ml
    link
    fedilink
    English
    arrow-up
    37
    ·
    4 days ago

    Debian is better as a server host. Ubuntu is not easier for a server for anything except initial installation but you’ve already done that once with Debian so you’ll be fine. Only reason to use Ubuntu is if you want core software updates every 6 months and for this purpose you don’t. And can still have the option for newer software in select cases using containers.

  • danielfm123@lemmy.zip
    link
    fedilink
    English
    arrow-up
    29
    arrow-down
    2
    ·
    4 days ago

    Never Ubuntu, debian for server, fedora for desktop and arch/cachyos for tech fun.

  • lemmyvore@feddit.nl
    link
    fedilink
    English
    arrow-up
    8
    ·
    3 days ago

    If you already know Debian that’s a big point in its favor. Nothing beats a distro you’re familiar with. (And I’d make the same argument if you were used to Ubuntu.)

    I’ve used both Debian and Ubuntu Server on my home servers and I ended up returning to Debian.

    • Debian embodies and follows the most essential Linux values. It’s open, it’s run by an open organization, it avoids proprietary stuff.
    • Debian is long-lived. It’s been around for 30 years, it’s mature, self-sustaining, community-run project, and it will be around 30 years from now. Whereas I wouldn’t bet on Canonical being around in 30 years.
    • The upgrade path for Debian is better than for Ubuntu Server LTS.(1) You can upgrade it in-place between major versions a lot more reliably and painlessly than Ubuntu.
    • Debian is dedicated to being stable. (Please run stable, btw.)
    • Debian is a lot more resource-friendly than Ubuntu Server.

    I’ve ended up concluding that Ubuntu Server is Debian, just with more quirks. It offers nothing essential that you can’t do on Debian, and it will just complicate your life when the LTS support period eventually runs out (and even during LTS, when you have to jump through hoops like Ubuntu One to keep updates coming.)

    (1) You can fuck up both Ubuntu and Debian’s upgrades by adding a lot of 3rd-party repos because apt doesn’t safeguard against external repos interfering with the core repos’ dependency graph.

    So the trick is to keep the OS minimal, install only Docker from its repo and install anything else in Docker containers. That way you benefit the most from Debian being stable and very little from Ubuntu Server.

    If you also need to run system containers and virtual machines you can add Incus later to the mix alongside Docker and still keep your host OS lean and simple.

    You can also consider completely migrating to Proxmox later, which is also Debian under the hood but it’s a more turnkey solution. I wouldn’t recommend jumping straight into Proxmox unless you’re fairly sure that you’d need to run VMs. (If you’re unsure stick to plain Debian for now.)

    • steel_for_humans@piefed.socialOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 days ago

      So the trick is to keep the OS minimal, install only Docker from its repo and install anything else in Docker containers.

      Why from Docker’s repo and not from Debian’s? I just did a quick apt search docker and I see docker.io and docker-cli.

      • lemmyvore@feddit.nl
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        3 days ago

        Debian’s versions lag badly behind Docker’s. You’d always be missing the latest features. Docker introduces them at a steady pace and it can get annoying to see people talking about a new useful improvement and then months passing before it gets to you.

          • lemmyvore@feddit.nl
            link
            fedilink
            English
            arrow-up
            3
            ·
            3 days ago

            You say that but sometimes they come up with stuff that’s really useful and it can be very annoying to not have it. Like when they integrated compose into the main.

            Also, if you later decide to switch to the official version you’ll have to handle the upgrade carefully or you risk wiping out all your images, containers, networks, volumes etc. Which can be fine if you have backups of all the relevant functional definitions and the volumes and so on, but obviously a huge pain if it catches you unprepared.

            Mind you, this can also happen by tinkering with stuff in /etc/docker/daemon.json, which is how I originally learned to back up my shit.

            • steel_for_humans@piefed.socialOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 days ago

              Ok, I will keep that in mind. I’m just wary of what you said earlier:

              You can fuck up both Ubuntu and Debian’s upgrades by adding a lot of 3rd-party repos because apt doesn’t safeguard against external repos interfering with the core repos’ dependency graph.

              You’re not the first person to tell me not to add too many external repositories on Debian for the same reason.

              • lemmyvore@feddit.nl
                link
                fedilink
                English
                arrow-up
                2
                ·
                3 days ago

                In Docker’s case is a non-issue because they were careful to use completely different names for all their packages. It’s only when the external repo uses the same names as the core that the dependency resolver can get confused.

                Rant:

                apt should either completely forbid external repos from using core package names (like Arch does), or look at both the package name and repo URL when deciding if a package is the same, not just package name.

                I’m guessing that letting external repos “hijack” a package name was once upon a time seen as a feature and then they never got around to fixing it.

  • GreenKnight23@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    2
    ·
    3 days ago

    Debian.

    waiting for the rug pull from Ubuntu once their corporate overlords decide to pull an IBM.

    • ilinamorato@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      3 days ago

      Honestly if they haven’t done it in the past 22 years, I’m not sure it’s ever coming. Not saying they’re a “good” corporation, just that it seems like they’ve been playing it fairly clean for a while.

      Besides, Ubuntu is FOSS. If Canonical does do a rug pull, there’ll be a fork available for people to migrate from in approximately 10.3 milliseconds.

      Not saying I like Ubuntu—I’m not a huge fan, honestly—just that this probably isn’t as much of a risk factor as it seems on the face of things.

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

    You are already familiar with Debian, so it will be easier. Debian is more friendly than you might think. This is enough to choose it.

  • curbstickle_lw@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    16
    ·
    4 days ago

    Choosy self-hosters choose Debian.

    That said, I don’t recommend hosting software at the bare metal level - use VMs or containers. Far easier to manage and isolate.

  • litchralee@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    19
    ·
    4 days ago

    If you’re already using Debian on desktop, then Debian on a VPS makes sense from a maintenance perspective: you only have to track one set of security updates. When there’s suddenly a critical update for some vulnerability, you can update both at once because it’s the same upstream repos. Whereas with Ubuntu on your VPS, you’d have to be mindful to make sure to check back when the same vulnerability is patched there.

    Do not underestimate the effort to upkeeping a server, and do try to unify your procedures so you’re spending less time doing the necessary things, and more time building up your self hosting stack.

  • Lka1988@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    1
    ·
    4 days ago

    Don’t use Ubuntu as a server. Pretty much every server application will run happily on Debian, meanwhile Canonical keeps adding/changing shit that is Ubuntu-specific and has broken otherwise-functioning server installations. I may or may not have personal experience with this.

    Ubuntu used to be the go-to, but Canonical is quickly becoming the poster child for Linux enshittification.

    For servers, use Debian and never think about it again. Except the one or two times a year it should probably be rebooted because of kernel updates.

  • TeaWithDani@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    3
    ·
    edit-2
    4 days ago

    Ubuntu’s “reputation” is nonsense. It’s a great distro for servers. Security updates are really fast and using snaps in a server environment is really great. I recommend running things like Docker or Tailscale off snap. They will revert to a previous image if an update fails. Extra stability for a server as you run automatic updates. If you run everything that is not in the base install off a snap, you have an extra layer of sandboxing against any supply chain attack for dependencies.

    Ubuntu will have more recent packages, that doesnt really matter in a server environment. Debian is otherwise fine, I just dislike it’s installer and prefer Ubuntu’s. I found it easier to sync third party drivers on Ubuntu.

    Ubuntu Pro gets you livepatches for kernal issues, which may be worthwhile. Also done without rebooting.

    Ubuntu also gives you better apparmour default profiles on more things, whereas on debian, its up to you to set them up.

    Debian will be exactly the same, its just more conservative and has less of those extras I mentioned. May be marginally lighter on resources for that. Either are fine.

    • bigredgiraffe@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 days ago

      Yep this right here, I have used Ubuntu LTS for servers both my own and for work for years now and it works fine. I also don’t think snaps are as big of a deal as people make them out to be, the only snap I am actually forced to use is the mass snap and that is a canonical product so whatever. I even use it on some rpi4/5 even and it works great for use with workloads suited for a pi. Now, 10 years ago this was a different story, but these days Ubuntu LTS is a great OS overall.

      Debian is also great though (and if I was building some sort of appliance OS I would prob start with that since it has the fewest customizations to start with) but after you use any of the deb based distros enough they are all basically start to look the same to operate so pick one you want to learn and use that until you have a reason to change, learn the tools not the distro and you will be fine.

      All of that said though, every distro has idiosyncrasies but the Linux CLI skills you learn are definitely transferable so it’s not as big of a choice as it is made out to be sometimes, especially now that containers and systemd are everywhere. That is …unless you decide to pick Solaris or one of the BSDs but those are a whole other animal 😀

      • TeaWithDani@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        Yeah an appliance distro would be a different consideration. For me Ubuntu is really flexible and a great docker host. I feel it’s safer to tinker with since you get those extra layers of containment and sandboxing.

        If I was to build an appliance I might also start with Debian, but so far I have used FreeBSD. Works great on my NAS, where I use XigmaNAS. You can transfer a surprisingly lot of skills. Learning what was common to FreeBSD and Linux really helped me with cli.

        I’m curious to try making stuff with Ubuntu Core. I think it has potential, but that’s a future deep dive and project. lol

        • bigredgiraffe@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          23 hours ago

          Hah same here, core has been on my list for a while especially for the pi but i keep getting distracted :D

    • irmadlad@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 days ago

      Ubuntu Pro gets you livepatches for kernal issues, which may be worthwhile.

      I use Ubuntu ESM. For their free, personal tier of Ubuntu Pro, you get 5 machines or 50 for active community members.

    • nitrolife@hikki.team
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      SNAP also doesn’t work well with old hardware because of compression. It’s ironic to recommend system riddled with incompatible compression to someone who explicitly wrote in a post that they would be using outdated hardware.

      • TeaWithDani@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        I think that’s more of a Ubuntu Desktop concern. My thinkpad has a 4th gen i5 and launches Firefox maybe half a second slower on a fresh reboot and afterwards its normal.

        Its really not relevant to a server who has all the time in the world to boot and stays up. Once the snap is launched, its launched, works fine afterwards. It’s all cached in the RAM or temp data or whatever afterwards.

        Ideally your server install would be on an SSD and your data on HDDs. Performance will be good with that setup.

        • nitrolife@hikki.team
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 days ago

          Never mind what’s ideal, in reality, one of my servers is running on a Core 2 Duo T7600 and when I installed ubuntu on it, it took 24 minutes to boot due to the unzipping of the base snap image in ubuntu server. Older hardware does not become faster just because os requirements change. And yes, I left ubuntu as soon as snap came out, i think that was 2018.

          UPD: and of course I’m not going to change one of the local servers just because Canonical decided to release another system. Thanks. For 20 years the processor has been routing packets and will do so for another 20 without any problems. Just switched to another OS.

          • TeaWithDani@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 days ago

            At least it supports 64 bit then. 😅

            Listen, can’t speak for 20 year old cpu, but yeah snaps are more optimized now than in 2018.

    • lyralycan@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 days ago

      The only thing I know about apparmour is that it breaks some permissions for a couple of my machines, and I have to disable them in the container config in order for the containers to boot

  • Pika@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    11
    ·
    4 days ago

    As someone who ran Ubuntu server for a few years before moving to Debian. I would recommend Debian over Ubuntu just because I have had to do less maintenance with it. When I was on Ubuntu updating it was a constant concern of “will something change that is bad” for example they pushed the kernel live patch and the Ubuntu subscription banner as an update instead of an upgrade, so I updated as normal, and there it was.

    I dislike OS’s that install new packages as part of their update procedures (an update that installs a new package instead of replacing an existing one should be reserved for upgrades), and Debian has never done that with me, so Debian is where I stay.

  • habitualTartare@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    4 days ago

    I run proxmox bare metal (debian-based hypervisor) and virtualize debian which has all my docker containers.

    with virtualization you can take a snapshot and backup everything that way. super simple to roll back if you mess something up. the added bonus is you could probably take a snapshot of your VPS and migrate it to a local vm.

    Ubuntu is something I played with about a decade ago and I never felt like I was “missing” something for debian, especially on servers.

    • steel_for_humans@piefed.socialOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 days ago

      So, theoretically, I could run Proxmox on the VPS if it’s running Debian? I read that Proxmox requires a lot of RAM and VPSes are too expensive in that regard. But I might run Proxmox at home, I have a beefy PC with 64GB of RAM, except it doesn’t turn on right now (something died, either the PSU or the motherboard, I still need to have it diagnosed).

      • habitualTartare@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 days ago

        you could definitely run proxmox in a VPS but I was thinking more of debian in the cloud. Then exporting that computer from wherever you host it as a ova file then importing it into your local server: https://pve.proxmox.com/wiki/Migrate_to_Proxmox_VE#Automatic_Import_of_Full_VM

        and on the ram issue, I’m running on over 10 year old workstation hardware ddr3. it doesn’t take much to run.

        NAS with zfs storage does typically want a lot of ram (e.g. truenas) but still for a small home environment it works fine with a lot less than 64gb.

        • lucullus@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 days ago

          For proxmox on a VPS beware: Some hosters are using a kind of virtualization, that is more like a container instead of a VM. This means, that if you need kernel access (like changing active modules) you will fail. Proxmox probably won’t run on such a VPS.

          Also: A VPS is already virtualized. Running nested VMs (some VMs on your Proxmos VM/VPS) will hurt the performance. Better stick to containers on a VPS.

  • ndupont@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    7
    ·
    4 days ago

    Debian and docker. When you’ll have your local server, just go with Proxmox, which is based on Debian. On that you’ll be free to run any Linux flavour as an LXC container. As you are already familiar with it, that’s a no-brainer. The day you decide to play with a raspberry pi, Raspberry-Pi OS is also Debian with very little customisation.

      • steel_for_humans@piefed.socialOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 days ago

        I use Podman on my desktop, but only for that single container (I need Microsoft SQL Server for work). I know they are 99% compatible, including CLI syntax, but in that 1% cases things might break and thus https://selfhosting.sh/ is recommending to stick to Docker for newbies, because almost all tutorials are written for Docker. I don’t know, I might try with Podman, however I don’t really need a steeper learning curve if whatever setup guide for some service that I’m using is not compatible with Podman.

  • PieMePlenty@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    4 days ago

    You’re installing a headless system right? Ubuntu and Debian are going to have very similar if not downright identical day to day operating procedures, including installing and setting up new things. Ubuntu is going to have software packages coming from a different repository and they may be newer (though this rarely matters) and the initial install may be different. One is backed by a for profit corporation and one by a large open source community. Whenever you need help, guides for Debian will probably work on Ubuntu and vice versa.

    For home self hosting use, it boils down to you own philosophy. In practice, it won’t really matter… they’re both really similar.

    I proudly use Debian BTW.

    • steel_for_humans@piefed.socialOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 days ago

      One thing I read about is that Ubuntu provides unattended updates, so it can automatically update packages and restart the server (that seems a bit too far ;) ). It’s probably possible on Debian but not out of the box.

      • stuner@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        4 days ago

        Debian also supports “unattended-upgrades”: https://wiki.debian.org/PeriodicUpdates

        I actually have it set up the same way on both: Automatically install updates (and restart some services), but don’t reboot. I don’t think it was different/easier on Ubuntu.

        Overall, the two distros are very similar for a server application. If you’re already running Debian on your PC, I would also go with that for a server.

      • moonpiedumplings@programming.dev
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 days ago

        One thing I read about is that Ubuntu provides unattended updates, so it can automatically update packages and restart the server (that seems a bit too far ;) ). It’s probably possible on Debian but not out of the box.

        Ubuntu automatically has unattended upgrades, which makes I think makes it a popular choice for VPS providers to push (beyond being popular in corporate/institutions overall), since they don’t have to worry about users forgetting security updates. However, it doesn’t enable automatic reboots. But, it does look like automatic restarts of services updated via unattended upgrades is done, but only as of Ubuntu 24.

        Another thing to note is that Ubuntu has updates that are explicitly for security, and then everything else, including more general bugfixes and program updates with additional features. By default, unattended upgrades on Ubuntu only do security updates.

        Of course, both a unattended upgrades and automatic reboots are possible on Debian (same software, Ubuntu just preconfigures it), although default configurations can vary. I wouldn’t be suprised if a VPS provider was shipping a default Debian configuration that enabled automatic upgrades.

        On Debian, for the most part, ALL updates are only for security issues or severe bugfixes (program crashes or the like). Debian, for the most part, doesn’t do minor bugfixes at all, or do program feature updates. I prefer this model, since it’s easier to manage than having separate types of package updates. It ensures absolute stability, a guarantee that the system tomorrow will behave the same as it did yesterday, while still enabling automatic security updates. This model is ideal for a server I don’t want to babysit, or for your grandpa who loses his mind when the button he is supposed to click was moved one spot over.

        In addition to that, I like the policy of automatic reboots. With the stable, slow moving nature of both distros, it’s safe to automatically reboot to ensure that kernel vulnerabilities, or vulnerabilities in other critical systems are fixed. Automatic updates and reboots can be the difference between someone being able to escape a docker container or someone not being able to.

        There is one thing to note, is that adding additional repos (or PPA’s which technically you aren’t supposed to work on Debian), can be dangerous, and you have to be careful: https://wiki.debian.org/DontBreakDebian/#Don.27t_make_a_FrankenDebian

        The main problem is that if a third party repo and Debian provide the same package, and the system is configured to prefer the third party repo, then you can be installing a potential dependency to the rest of your system that isn’t actually tested against your system, or compatible.

        You have to be really careful to ensure that the programs in the repo are actually built and designed for your system, and also that the your system does not default to installing them.

        Third party repos also break the guarantee of stability that automatic updates depend on. Third party repos don’t have a separate security channel, so Ubuntu will probably avoid touching them, even if critical security fixes are needed. Debian will update them, but unlike Debian’s packages, the overall program updates won’t be guaranteed to be behave the same due to potential major/minor version changes.

        For example, if you get Docker from docker’s repo instead of Debian’s/Ubuntu’s, now your version of docker can no longer auto update and receive potential security fixes safely.

        Overall, I prefer Debian but Ubuntu is fine. If I was in an environment that used Ubuntu already, I would also just use Ubuntu. If you are already using Debian, then Debian is probably preferable.

        • irmadlad@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 days ago

          or for your grandpa who loses his mind when the button he is supposed to click was moved one spot over

          Ouch! /s LOL There is something to be said for order and consistency. I don’t wig out, but I do like everything in it’s place. I like apps to open up in a certain spot on the screen consistently, etc. Over all, a great explanation.