view the rest of the comments
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.
-
AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Distro kind of matters.
Its a server, stability is the top priority. I'd avoid Ubuntu personally, and recommend Debian and Debian variants. For your first server (and your 4th+), I'd suggest proxmox. Its Debian with virtualization and a web interface, making it easy to manage services.
I'd also mention that you do not want a DE for your server. Its a lot of overhead for no real benefit, instead you should think of it as a headless machine you can remotely access - which is also what will make proxmox handy for you.
Intel wins in transcoding in most scenarios, so an intel-based system with an iGPU is a solid target. Full transcoding of AV1 starts with 14th gen, but that includes to AV1. For decode of AV1 for transcoding, 11th+. For anything else, 7th+.
With ram you can do more with more, but leveraging virt will make the load a lot lighter. Ive got systems with 32GB, but they are also hosting whole ass VMs and not just lxc's.
Yup, proxmox is great.
Note that you can't (or rather, shouldn't) run docker containers on proxmox. Most people run a vm and then docker inside that. And yes, I use Debian for it
You can give proxmox a docker container reference, but it'll download and convert it to LXC, which means you can't update the container. You'd have to update the container's os and the app manually, or redeploy the container and reattach the storage.
If I'm running Ubuntu server can I backup my docker files and will Debian find my mdam raid without issue?
For mdadm, it stores the metadata on the drives themselves. As long as your os is separate, yes, it should be just fine and detect automatically. After install it should just be a mdadm --assemble --scan and off to the races.
That said, I will always recommend backups. You never know what will happen.
In terms of docker, yes you can back things up and move them over. That said I recommend having your docker contents that need to be persistent as part of a mount somewhere, so that instead of needing to copy them around, you just have a compose that points to a mount.
Makes backups easier too.
Yeah, I'm thinking of getting a sata ssd and putting it in one of the hot swap bays as I have 6/8 filled with 14tb HDDs is raid 6. Then putting all the docker stuff there so it's not on the boot nvme.
A solid call either way, easier to manage and safer imo
Heard good things about proxmox. What do you mean it's Debian? It's an OS? I thought it was some kind of VPN thing that gets your services out onto the web so you can access them remotely or something like that.
I'm inclined to agree I don't need a DE (desktop environment, though I suppose I'm the only one who had to think about that for a second as the new guy) but I was also interested in checking out some Steam games. Would that be something I could spin up separately (Steam via Proton) or would that be better as its own project with its own goals?
14th gen is kind of a price jump, but if I'm only targeting 16GB RAM (per another reply), it might be doable. Having my Mac just convert the AV1 to HEVC (or just avoiding AV1 entirely) sounds like it would make more sense. I'm seeing a lot of refurb deals on 11th gen i5s and that's what I was thinking.
What are LXCs?
Proxmox is based on Debian the way Ubuntu is, but more highly focused and without departing from main Debian strategies.
Proxmox is a kernel and set of tools for managing virtual machines and containers, in this case LXCs. These are different from docker, they share the kernel with the host but have isolation at namespaces (user id's, process trees, network views, etc). They boot in seconds because they bypass hardware virtualization like you'd have with a VM.
I'd say gaming is better off as its own project effort. You could do things like GPU pass through and a dedicated VM for gaming, but you would be adding a pretty hefty layer of complication. If you dont need to convert av1 to something else, I'd just go with a 7th+ gen iGPU, and dont worry about it. Mine are 7th-10th gen, I have dozens of TBs of media, and they just chug along without issue handling somewhere between 4 and 6 streams at typical top use, mostly streamed without transcoding anyway. AV1 for the source file, you'll be transcoding almost everything because most devices dont support native decode anyway, so I don't personally find it worth it yet.
Just to mention, your Mac (if its an M series) can handle LLMs reasonably. I have an M2 Mac mini that runs some models, but my web interface for accessing those models is hosted on an LXC on one of my proxmox nodes.
It mostly gets used for local audio transcription and summaries, though occasional I'll let it do other things like autocompletes for code (but not generating code, I don't consider generated code to be useful).
Debian is the OS.
Proxmox builds on Debian to turn it into a hypervisor. That's an OS for managing VMs and containers. Proxmox (like most hypervisors) gives you a handy webinterface.
There are easier hypervisors to use, but Proxmox is great for learning, and allows you to expand well later.
tbh, except for gaming and AI, you don't need nearly as much processing power as you might think. I run most of my stuff on a (fairly new, can't remember which one exactly) i5, and it sits at an average 2-3% CPU usage, with the maximum its recorded being 10.9% (there's two VMs and 8 containers running on it). 11th gen i5 will probably be more than enough to start with.
In my non-professional opinion, what you really want to look at is how much power your system is going to use when idle, since that's what (small) servers are doing most of the time. This is not something specified by manufacturers, and it depends on all the parts going into the computer (CPU, mainboard, PSU, fans, how the BIOS is set up, ...).
I would also recommend getting at least 16 GB of RAM (honestly I would say 32, if not for the current prices). Containers don't use too much, but if you want to set up VMs for services, each VM will want at least 2-4 GB for itself.
LXC-Containers (https://en.wikipedia.org/wiki/LXC) are like extremely lightweight and slightly less secure Linux VMs. They are similar to Docker, but while Docker is containerizing applications, LXC containerizes Linux distros.
While that's technically true, in some cases you might want a graphics stack after all. For example if there's a TV nearby you can get some cool benefits from being able to output directly to it.
But I agree that starting with a desktop distro is probably not the way to achieve it.
I'd still say no.
You don't really want a desktop task to crash and take down all of your services in one shot. As a VM with GPU pass through maybe, but not really in that beginner territory.