this post was submitted on 25 Jun 2023
33 points (97.1% liked)

Selfhosted

39937 readers
442 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've never had so much fun self-hosting. A decade or so ago I was hosting things on Linode and running all kinds of servers for myself but with the rise of cloud services, I favored just giving everything to Google. I noticed how popular this community was on Reddit/Lemmy and now it's my new addiction.

I'm a software engineer and have plenty of experience deploying to AWS/GCP so my head has been buried in the sand with these cloud providers. Now that I'm looking around there are things like NextCloud, Pihole, and Portainer all set up with Cloudflare Zero Trust... I feel like I'm living the dream of having the convenience to deploy my own services with proper authentication and it's so much fun.

Reviving old hardware to act as local infra is so badass it feels great turning on old machines that were collecting dust. I'm now trying to convince my brother to participate in doing hard-drive swaps on a monthly basis so I have some backup redundancy off-site without needing to back up to the cloud.

Sorry if this feels ranty but I just can't get over how awesome this is and I feel like a kid again. Cheers to this awesome community!

EDIT: Just also found Fission, selfhosted serverless functions, I'm jumping with joy right now! https://github.com/fission/fission

top 23 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 year ago (2 children)

Saw this post on “All”. Last I checked (sometime in 2019), self-hosting was a fairly involved process.

Has the process simplified enough for a complete beginner like me to begin self-hosting services on, say, a raspberry pi?

If yes, can you please point me to a good resource/wiki?

[–] [email protected] 2 points 1 year ago

Actually, I would argue the simplest way to self host today is TrueCharts.

The problem is when it breaks, you are SOL because you didn't build it yourself so you got no clue how it works

[–] [email protected] 0 points 1 year ago (2 children)
  1. Follow docker install guide for raspi
  2. Browse awesome-selfhosted and find services that seem interesting to you or ask for recs here.
  3. Follow the projects guide to do a docker install
  4. (Bonus) Setup a reverse proxy like nginx proxy manager so you can access your services with urls
  5. (Bonus) Setup domain and a service such as Tailscale so you can access your services safely from outside your home.
[–] [email protected] 1 points 1 year ago (2 children)

Thanks for the steps!

I remember steps 4 & 5 were the ones that made me drop the idea. It involved a lot of configuration.

I will take a look once again, hopefully these have become simple enough.

[–] [email protected] 1 points 1 year ago

Np, I would say dm me if you have any questions but I dunno if you can message between lemmy and kbin haha

[–] [email protected] 1 points 1 year ago

I set up wireguard vpn and took down all my reverse proxies as it feels more secure and is easier to maintain.

From what I’ve heard tailscale is a step easier as well. So you could vpn into your network rather than accessing the services via URL.

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

Honestly I've never used docker properly and one time I tried for the *arr stack I ran into many issues with access to storage drives and connectivity between different services. Does it actually help with anything on rpi? I thought it's good enough to just install the rpi OS and then install other services normally on it?

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Nope, do whatever suits you!

I would say tho the example you made is one of the infamous cases where docker is more difficult to setup than without due to the file locations of your movies, etc needing to match between dockers. When I set it up I found a really good guide that not only explained how to set it up but they also explained the logic and reason behind the issue.

https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths

Another good guide about the issue:
https://trash-guides.info/Hardlinks/How-to-setup-for/Docker/

The reason I’d initially recommend docker to a beginner is it keeps everything clean and organized, it’s easy to undo mistakes while learning, and I feel some apps are easier to setup with docker because they come with the dependencies already installed and configured properly.

[–] [email protected] 2 points 1 year ago

Yea between the enshitificaiton of the internet and how far selfhost software has come it is a great time to selfhost and will just keep getting better.

Selfhosting, reddit drama, kbin, all this just makes it seem like the internet is having a sort of grassroots, back to basics movement which I'm all for lol.

[–] [email protected] 2 points 1 year ago

And it can get really low effort too.

I do very little maintenance as I just don't have time at the moment. Everything just runs.

I love paperless, immich and meanie as my top apps, with nginx proxy manager dealing with the proxying.

[–] [email protected] 1 points 1 year ago

Glasfiber home internet has also really improved the available upload speed, which is great for self-hosters.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

If you want to host things and be accessible from outside your home then I'd start with getting a domain and static IP, point the DNS at your IP, make sure your DNS provider is supported by Let's Encrypt DNS authentication.

Then setup nginx as a reverse proxy and get Let's Encrypt setup with auto renewal. That way you can have secure https connections to your home.

Then install docker compose, fire up a service and configure nginx to proxy to it

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

I usually cut down on domain/DNS cost by using a free dynamic DNS service called duckdns. It works super well, provides Let's Encrypt support and sub-sub-domains. (for example your could have https://git.$username.duckdns.org)

I've found as a IT noob that Caddy 2 provides as much "batteries inside" and "boiler-plate free" to support me, because I have no Idea what I'm doing. So I just let caddy handle my encryption and reverse proxy to my actual server.

I'm an embedded software dev, who only discovers ethernet protocols on a surface level, because we hadn't need it yet in previous projects, so I'm a bit lost on how to do cloud stuff. So having all these great tools for free for me to try out and connect from outside to my media servers and stuff is awesome!

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

My old cheap Asus N66u router has a free dyndns service built-in. Super easy to setup. I use it to host a jellyfin setup. Bout to setup a torrent server and a NextCloud server. Used to run a owncloud server a few years back and loved having it.

[–] [email protected] 1 points 1 year ago

Don't forget to put your torrent client behind Gluetun!

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

Docker is hurting my progress. I just can't seem to wrap my head around it. Is there a Docker for Dummies?

[–] [email protected] 1 points 1 year ago

Are you having trouble learning it or understanding what it's used for? Much of learning Docker also comes with understanding some basics of software deployment like environment variables, ports and volumes. Happy to help answer any questions because it's an extremely powerful tool once it starts clicking.

[–] [email protected] 1 points 1 year ago

I learned the basics of docker by using synology and unraid. They make it really easy setting up docker apps.

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

Is there a specific part that you’re having trouble with? Is it more how it works under the hood, or more about using it to spin up containers? I can try to answer any questions and post some how tos for you.

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

I think I just need a general overview. Something about the concept isn't clicking for me, and it makes it hard for me to learn how to use it when I fundamentally don't get it. Is there a really good "Introduction to Docker and the tools people use with it" that I haven't found?

[–] [email protected] 1 points 1 year ago (1 children)

I think the real benefits of Docker don't become unquestionably obvious untill you've ever tried to manage more than one installation of some kind of server software in the same machine and inevitably learn the hard way that this comes with a lot of problems and downsides.

  • From simple things like if the environment needs a restart, you can just restart the container, without rebooting the machine, interrupting other applications.
  • To seriously dangerous and problematic things, like configuring your system to work with your new application only to realize that this configuration is breaking your other server software.
[–] [email protected] 0 points 1 year ago (1 children)

So far I've avoiding learning about Docker by just buying a new old end-of-life Chromebook when I wanted to run anything. Works pretty well, except for the giant pile of Chromebooks behind my TV.

[–] [email protected] 1 points 1 year ago

I would really recommend just playing around with Docker until you understand it rather than buying old hardware for each service.