I'm refurbishing an old PC to work as a home server for several stuff. I'm looking for a lightweight distribution to install in it, but with a decent package repository. A small image size will be appreciated, as I have slow bandwidth too.
Debian netinst. The network installable iso is much smaller than the full image as you only download stuff you actually want to install. Ubuntu used to have a mini.iso but sadly they got rid of it AFAIK.
Apart from Debian, I guess Alpine. It's quite popular in containers for its small size. Even Arch will be much bigger in that case because the packages are much less granular and install development libraries and headers for about everything.
Debian or Ubuntu Server (or something specific to servers purpose, like OMV, etc).
... but ProxMox (a hypervisor, Debian based) doesn't have much overhead & runs on old PCs pretty well.
And with that, you can pretty much try any distro (as a full virtual machines, perhaps with dockers within it, or as a lightweight containers that are really resource efficient). Or separate containers for each purpose (for beginners, there are like TurnKey solutions to stuff like NAS, it takes literally a few minutes to set up).
Backups (snapshots) are easy too, and a later migration to a better/next server is basically two clicks away.
So the question I then have is, how hard would it be to virtualise my current Ubuntu server within Proxmox, both not having dealt with VMs before and having spent a lot of time on the server?
Im sure there is a way (a quick search will probably give you your answer fairly quickly) ... or just try Clonezilla, that way you can also revert back. As per usual with OS I would advise make a clean install on a new machine & transfer the rest manually, ... however I'm lazy and wound definitely try to image copypasta the disk.
VMs as such aren't really any different from regular machines, it's just that you define virtual machine parts, well, virtually (like you can add disks, RAM, cores, etc as you wish).
Linux is quite lightweight. Pick a distro that doesn't run a lot of stuff by default. OpenBSD only runs sshd exposed to the network, AFAIR. Debian probably does the same. But really, the lightness comes from what isn't running. NixOS, fedora, rocky, alpine are all decent alternatives.
Other options include Alpine and Slackware (the former is the base of many OCI compliant containers, it's lighter than Debian usually).
No, Gentoo, Void and Arch are not server distributions.
FreeBSD is also pretty good, although at this point, the only real argument I have seen for the BSDs is their close-ness to Unix more than anything else. If that is something you really need, you know where to go
Gentoo, at least, is an unspecialized metadistribution that can be used for whatever purpose you can come up with. It can certainly be put on a server, but for someone lacking Gentoo experience the learning curve might be a little steep, and depending on exactly what software you want, compiling it may take a while on an older machine.
So speaking as a Gentoo user, Debian is a not-unreasonable choice for this use case. It's certainly stable enough.
Probably Debian. It's basically the most used distro, and therefore has many online resources.
Old software, but very stable.
No bloat, very clean.
No custom programs interfering with any configurations etc.
Support for many server software etc.
If you want an even cleaner OS, where (nearly) everything is under your control and as lightweight as possible, Arch would be for you. There's the bonus of the AUR, but the huge problem of newest, "unstable" software, though I've yet to experience any problem on testing repos, except for the Nvidia drivers.
In general, Debian should be enough of lightweightiness and control.
I'd argue that beyond the distribution itself it's a lot more about what you install that will make the difference. If you can basically stick to the console and connect via ssh you'll have a lot more resources available, both bandwidth (assuming you were planning to see a remote desktop) needed but also disk, CPU and RAM. There are lightweight WM e.g ratpoison but IMHO a server should be headless.
So... yes Debian but IMHO Debian without any desktop, just boot with sshd running, Ethernet cable plugged in and connect remotely.
PS: I'd also check if a RPi could be sufficient. I'm running few RPi4s and RPi Zero with 100Go+ microSDs and that's very small, silent and doesn't consume much energy. I understand it's appealing to upcycle old hardware but in the long run, e.g 1 year running 24/7 might not be worth it.
rPis for me aren't an option as there's no way to buy one here, first hand at least. And the electricity isn't really an issue as I pay it by estimates.
Also must say the server only purpose is to run long tasks without occupying my daily use PC. I don't have Ethernet internet either, so I can only put it online sharing connection with my laptop or with a (future) wireless expansion.
MicroOS has worked well as a server for me. Run everything as a container. Use caddy and portainer for reverse proxy and container manager respectively. Auto updates, immutable, and has been bulletproof for me for awhile now.
Dietpi. It's debian with a small package repo of common selfhosting software pre-configured to work out of the box. It also has a dedicated community and very helpful maintainers!
Debian or Alpine would be perfect. Debian has bigger repos, better hardware compatibility, and maybe a bit more stability. Alpine is scary lightweight and a small ISO download.
I use Debian for one and Arch for another. Debian is probably a better option, but I've had no issues with my arch server. Just use what you're most comfortable with
You'd probably be better off asking in !selfhost@lemmy.ml (can't remember how to link communities sorry fixed now ) and getting answers from people who run home servers. I was given suggestions for an OS like Proxmox, to run everything in containers.
Since nobody has said it yet: Ubuntu server or Debian. /s
In seriousness, I use both. They're pretty great. Note that if you use Ubuntu server you can get Ubuntu Pro free for up to three devices. This comes with ten years (!) of security patches. Great if you aren't keen on upgrading anytime soon.
Honestly, literally anything with a server image will do.
Debian with minimal install. Ubuntu Server. Arch. Fedora Server. Anything.
Unless you're intending to do something very niche or are using some very specific hardware, you'll have very little difference using any mainstream distro.
If you currently use Linux as a desktop OS, sticking with a server OS from the same distribution or a closely related one will mean that you'll find it much easier to manage than learning something new for marginal benefits.
I use Ubuntu for my desktop, so I stick with Ubuntu Server or Debian for servers. Keeps things simple.
NixOS. Not going to switch away from NixOS for servers probably ever even if I decide to distro-hop on my desktop in the future. It's essentially what "traditional server distro + docker + ansible" can only dream of being. If you don't mind learning a very different system, that is. Also the size of its package repository is only rivaled by AUR ;)
Lightweight distro for a server is nonsense, IMHO. All major distros are made to work as a server (enterprise ones are made primarily for servers), so whichever one you use currently, use it. Debian, Fedora, openSUSE, Arch, whatever.
I'm not asking for a distro made specifically for servers. I'm asking for a distro that fits what I specified in the post body. Most people here said Debian, and I'm probably going with that as it's my daily driver anyways.
I use arch.
edit: lol while I am new to arch, I guess I kind of expected people to disagree with me. I was under the impression that stock arch is very lightweight? I know there used to be jokes about "I installed Arch" cause it's supposed to be hard. But I installed Arch on my desktop and server recently, I did the manual install on my desktop and the guided install on my server. Both super straight forward. Plus Arch seems to have some of the best documentation across distros. I don't know why it should not be suggested, unless I am missing something.
Most people want stability (low change) for servers. Arch is typically run where plentiful software updates are welcome. It's not that you can't/shouldn't use Arch for servers, but it isn't the most conventional suggestion.