this post was submitted on 06 Jan 2025
397 points (97.6% liked)

Selfhosted

40956 readers
1132 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Futo (Louis Rossman) at it again with great content, this time a Guide to a Self Managed life. This 14hrs long guide comes in two video parts, aswell as a written guide for those who prefer. Both video and written quide comes with complete chapters and timestamps. This should be a great starting point for those who have the time and want to start learning from the very beginning.

Video Link to Part 1: Youtube - Invidious

Video Link to Part 2: Youtube - Invidious

Happy selfhosting in 2025 everyone ✨

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 3 days ago (3 children)

The fact that he completely ignores docker because he doesn’t know it and urges users to build a router with pfsense make the video a miss for me

[–] [email protected] 12 points 3 days ago* (last edited 3 days ago) (1 children)

He doesn't look like someone who doesn't know docker, there is a whole section on that wiki page where he describes what docker is and how it works in details.
He just decided to not dockerize his installation because:

  1. he thinks VM in his case are more practical.
  2. docker didn't even exist when he started to go self-hosting.
[–] [email protected] 5 points 3 days ago (1 children)

It's funny because I view LXC's the same. They're more practical than both VMs and dockers to me. Outside of community-scripts though, it seems most people don't like LXC's nearly as much as I do...

[–] [email protected] 1 points 3 days ago (1 children)

The issue with LXC is that it doesn't set the software up for you. You're pretty much in the same situation as a VM or bare metal, you have to figure out how to install it or use scripts/Ansible to do it. A docker is a distribution method for the software, not the operating system. I know there's things that you can do to ship a configured LXC, but that's never gained traction.

So docker is far and away the easiest choice for developers looking to get their software used in a predictable manner.

[–] [email protected] -1 points 3 days ago* (last edited 3 days ago) (1 children)

helper-scripts.com

Docker doesn't setup anything for you either without a dockerfile (which is literally just a list of commands to setup the docker container).

There's no reason that a script cannot be used in the exact same way for an LXC container. To that point... There's already a repo of stuff to do exactly that. Which I've linked above.

Edit:

A docker is a distribution method for the software, not the operating system

And yet most docker containers first lines are something line "FROM Alpine"... Much the same that an LXC would be. Last I checked Alpine is an OS...

Keep in mind that docker used to be based on LXC... and they fulfill virtually the same niche, outside of Docker having more obfucated shit for networking (specifically inter-container networking).

[–] [email protected] 2 points 3 days ago (1 children)

A dockerfile has a bunch of built-in functionality that's way easier than running scripts, and very amenable to CI. Its a standardized way of building repeatable and troubleshootable environments which is nothing you'd get in a one-off LXC, so developers love it.

I didn't like docker for the longest time, installed everything on VMs and LXCs manually with Ansible, and when I did get looking into containers I realized how utterly wrongheaded I had been, especially when it came to deploying a solution I could trust behaves consistently.

And did you just downvote my comment because I dared disagree with you like pretty much the entire development community does? If so, that's pathetic and weird.

[–] [email protected] -1 points 2 days ago (1 children)

If so, that’s pathetic and weird.

Pathetic and weird is complaining about downvotes when they don't even tally up anywhere. So not only were they meaningless to begin with, they're not even as useful as they are on Reddit.

I did downvote, not because of disagreeing with me, but because

The issue with LXC is that it doesn’t set the software up for you.

is factually wrong in this context. You can absolutely distribute software in an LXC. I even pointed you directly at one such repository of hundreds of images that do exactly that. And they're repeatable and troubleshoot-able all the same. The script that a dev would publish would be doing literally the same exact thing as a dockerfile.

A dockerfile is just a glorified script. Treating it as if it's something different is intellectually dishonest. Anything in a docker can be edited/modified the same as an LXC. docker exec -it <> /bin/bash puts a user in the same position as being in an LXC container. Once again. Aside from some additional networking stuff, Docker was literally based on LXC and is more or less functionally the same. Even in their own literature they only claim that they've enhanced LXC by adding management to it... (https://www.docker.com/blog/lxc-vs-docker/) Except Proxmox can manage an LXC just fine... LXD as well.

As far as CI/CD stuff... It works on LXC containers as well... Here's an example from 3 years ago that I found literally in 10 seconds searching for LXC ci/cd https://gitlab.com/oronomo/docker-distrobuilder.

Also you can even take a DOCKERFILE and other OCI compliant images and push them directly into an LXC natively. https://www.buzzwrd.me/index.php/2021/03/10/creating-lxc-containers-from-docker-and-oci-images/ (Create LXC containers using docker images section).

like pretty much the entire development community does?

This is also a bullshit appeal/fallacy. The VAST majority of development communities don't use ANY form of containerization. It's only a subset that works on cloud platforms that now push into it... It's primarily your exposure to self-hosted communities that makes you believe this. But it's far (really far) from true. Most developers I work with professionally have no idea what docker is other than maybe have heard about it from somewhere or another. It's people like me who take their shit and publish it into a container and show them that they understand and learn more about it. And even in that environment, production tends to not be in docker at all (usually kubernetes, Openshift, Rancher, or other platforms that do not use the Docker Runtime) but that choice is solely up to the container publisher.

I didn’t like docker for the longest time

Good for you? I see docker as a useful tool for some specific stuff. But there's very few if any cases where I would take Docker over an LXC setup, even in production. I don't hate or love docker (or LXC for that matter). However... I find I get better performance, lower overhead, and better maintainability with LXC. So that's what I use. I don't delude myself that LXCs are somehow not containers... and that Docker does anything different than any other container platform.

[–] [email protected] 0 points 2 days ago (1 children)

If you think running some curl-bash script against whatever mess someone has set up in an LXC or other one-off install is functionally the same than CIing a known distro and version and making an image that people then can use and bug report against, then I don't see that this conversation is going anywhere.

[–] [email protected] 0 points 2 days ago

Correct. It can't go anywhere because you won't acknowledge that a dockerfile is literally just a script. So arguing that one type of script is any different than any other type of script is just silly from the get-go. Not sure what point you're trying to prove. Also, "one-off" literally linked you to a whole thing of "one-off" LXC containers and you still say dumb shit like this...

You can version LXC containers.

Every command (https://docs.docker.com/build/concepts/dockerfile/) is literally just an alias of something from linux bash anyway. So I'm really not understanding why you think there's any difference here. It's literally a dumbed down bash for one specific purpose.

I'm starting to think you just don't know anything about docker. Or LXCs for that matter.

[–] [email protected] 5 points 3 days ago (1 children)

The fact that you're already aware of what Docker is means that this video and wiki were already a "miss" for you.

[–] [email protected] 0 points 2 days ago

It’s not for me but for newbies docker is a must