this post was submitted on 30 Jul 2024
157 points (92.0% liked)

Selfhosted

39919 readers
320 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 1 year ago
MODERATORS
 

I saw this post today on Reddit and was curious to see if views are similar here as they are there.

  1. What are the best benefits of self-hosting?
  2. What do you wish you would have known as a beginner starting out?
  3. What resources do you know of to help a non-computer-scientist/engineer get started in self-hosting?
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 3 months ago
  1. Control and privacy. The server does exactly what I choose, not somebody's business model.
  2. Once you have other users, it's not a hobby anymore. People are not amused by downtime.
  3. The w3schools.com tutorials have been good for me.
[–] [email protected] 1 points 3 months ago
  1. Not having to give up my privacy for everything.
  2. GUIs are not needed when self-hosting. (I mean when deploying services)
  3. Learn Linux and start simple with a Raspberry Pi or laptop. That's how I started.
[–] [email protected] 2 points 3 months ago
  1. Things like changes to TOS or services can be seriously mitigated by hosting it yourself. WHat happens if Spotify changes the music they host or inserts ads into everything. Well for me, nothing. On the flip side, if some of my stuff goes down, kids and wife will bark. But honestly its mostly set it and forget it.

  2. KISS is a thing that applies to many things in life. Anything "smart" in your home should ideally function without your "smart" features working. Ie: light switches should be dumb light switches if something breaks etc etc. Also dont get caught in using rack or enterprise gear. You can learn just as much using smaller, fatter desktops with bigger fans and air cooling over a power hungry rack servers with 80mm fans that blow your eardrums out. My entire lab runs on old dell workstations and raspberry pis'

  3. https://www.servethehome.com/ -

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

Podman quadlets have been a blessing. They basically let you manage containers as if they were simple services. You just plop a container unit file in /etc/containers/systemd/, daemon-reload and presto, you've got a service that other containers or services can depend on.

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

Is containers here used in the same context as docker? I'm not familiar with podman.

[–] [email protected] 3 points 3 months ago

Just about but it's more experimental.

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

Not as good as Ansible although they are different tools

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

Can you clarify on how NixOS is great for selfhosting? I was going to do mint.

[–] [email protected] 1 points 3 months ago

you configure your whole server in one file (including docker/podman services), installation and configurations is taken care of by the package manager, you pretty much only need to know one file to admin your system

and no extra stuff is installed only what you specify so you have a minimal resource usage.

i think this is awesome

[–] [email protected] 2 points 3 months ago

As far as operating systems goes, i would recommend Debian or Ubuntu. These are very wiedly used and there are many resources. And if you are brave, you can start without a Desktop.

[–] [email protected] 2 points 3 months ago

although maybe not for beginners. for beginners use docker compose and do backups however you like

[–] [email protected] 6 points 3 months ago
  1. Our internet goes out periodically, so having everything local is really nice. I set up DNS on my router, so my TLS certs work fine without hitting the internet.
  2. I wish someone would've taught me how to rip blurays. It wasn't a big deal, but everything online made it sound super sketchy flashing firmware onto a Bluray drive.
  3. I'm honestly not sure. I'm in CS and am really into Linux, so I honestly don't know what would be helpful. I guess start small and get one thing working at a time. There's a ton of resources online for all kinds of skill levels, and as long as you do one thing at a time, you should eventually see success.
[–] [email protected] 6 points 3 months ago (1 children)

For #2 and #3, it’s probably exceedingly obvious, but wish I would have truly understood ssh, remote VS Code, and enough git to put my configs on a git server.

So much easier to manage things now that I’m not trying to edit docker compose files with nano and hoping and praying I find the issue when I mess something up.

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

I know this is coming up on my radar, but I am not quite sure where to start. Might you have any resources on hand to point me in the right direction?

Especially once I have everything dialed in the way I want, I'd love to be able to pull from my own repo to get stuff running again/spin up a new instance

[–] [email protected] 3 points 3 months ago* (last edited 3 months ago)

Honestly, I learned a ton from these guys: https://www.smarthomebeginner.com/

I've diverged a good bit since then of the services I've added and the specifics of how I configure things (I still use Traefik whereas I think they've shifted to Nginx), but they have a great example of a GitHub repo and what it looks like to manage a self-hosted server.

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

And love isn't sex

[–] [email protected] 4 points 3 months ago* (last edited 3 months ago)

For me #2 would be "you have ADHD and won't be able to be medicated so just don't"

I've mentioned elsewhere my server upgrade project took longer than expected.

Just last night I threw it all into the trash because I just can't anymore

[–] [email protected] 14 points 3 months ago* (last edited 3 months ago) (1 children)

Benefits:

  • Cheap storage that I can use both locally and as a private cloud. Very convenient for ~~piracy~~ storing all my legally obtained files.

  • Network wide adblocking. Massive for mobile games/apps.

  • Pivate VPN. Really useful for using public networks and bypassing network restrictions.

  • Gives me an excuse to buy really cool, old server and networking hardware.

As for things I wish I knew... Don't use windows for servers. Just don't.

SMB sucks, try NFS.

Use docker, managing 5 or 10 different apps without containers is a nightmare.

Bold of you to assume I'm a computer scientist or engineer or that I have a degree lmao. I just hate ads, subscriptions and network restrictions, so I learned how to avoid those things. As for resources to get started... Look up TrueNAS scale. It basically does all of the work for you.

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

How's the network wide ad blocking work, that would solve a big issue with my kids.

[–] [email protected] 1 points 3 months ago

You either set the DNS settings per device to the system running PiHole / AdGuard Home, or if your router allows, set the DNS there. It's ideal to set it on the router.

Any time a device makes a DNS request to a domain, it's checked against the list. If found, it's stopped. If not found, it gets sent upstream to your choice of a public DNS configured during setup. I use Cloudflare (1.1.1.1, 1.0.0.1).

load more comments
view more: next ›