this post was submitted on 26 Apr 2024
248 points (91.9% liked)

Programming

17670 readers
241 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

For most personal projects, hosting on the cloud may be overkill, but tempting with its supposed ease of use and benefits of scale. Self-hosting is often overlooked as a solution with the benefit of simplicity and cost.

Interesting discussion and demonstration of self hosting the kinds of apps most personal projects will end being.

top 50 comments
sorted by: hot top controversial new old
[–] sentient_loom@sh.itjust.works 47 points 8 months ago (6 children)

A VPS is also very expensive though. And shared hosting usually only allows HTML and PHP. So what's the affordable alternative?

[–] orac@feddit.nl 27 points 8 months ago* (last edited 8 months ago)

Personally I self-host on a raspberry pi. It took me a few weeks to setup, but it has been running without problems for almost 2 years now at practically no cost (beyond purchase and electricity).

[–] MajorHavoc@programming.dev 25 points 8 months ago (1 children)

Great question. Here's where I've landed:

  • For a surprising number of things, my previous desktop, running Linux, confined to my local network, is perfectly fine.
  • For a number of other things, a Raspberry Pi, with a dedicated disk image (ISO), confined to my local network, is fine.
  • Surprisingly often, a not-at-all-dynamic dynamic DNS solution gets the job done. I follow the first half of the DynDNS guide, and then hard code my preferred IP, and skip the rest. It's inconvenient when my IP changes, but that happens a lot less often than most folks imagine. Most DNS providers have provided this to me for free after I bought my domain name from through them.
  • For my public personal portfolio, GitHub pages works fine.
  • For additional silly static sites, AWS S3 and AWS CDN get the job done for about $3 per month.
  • When I need to do public facing database stuff, I get a virtual private server, not from Amazon or Microsoft, who both way overcharge for small apps.
[–] GreyEyedGhost@lemmy.ca 5 points 8 months ago

I was surprised to find oracle's offerings so economical for personal use. I set up a foundry server (TTRPG) and so far it hasn't cost me a cent. Still not a fan of them or their CEO, but this is working for me.

[–] fmstrat@lemmy.nowsci.com 11 points 8 months ago (2 children)

Plenty of places with $5 per month VPS

load more comments (2 replies)
[–] wccrawford@lemmy.world 11 points 8 months ago (1 children)

I use nearlyfreespeech.net. They bill for usage, and since my site gets almost no hits and doesn't take much storage, it's ridiculously cheap. Much cheaper than even he $2.50.mo VPS listed in another comment. I just checked, and I spend an average of $.30/mo.

[–] Slimy_hog@programming.dev 2 points 8 months ago

Thanks for this; I signed up because of your comment

[–] wildbus8979@sh.itjust.works 8 points 8 months ago

VPS' are pretty cheap. Checkout https://buyvm.net starts at like 2.50$/mo

[–] refalo@programming.dev 2 points 7 months ago* (last edited 7 months ago) (3 children)

expensive

Highly disagree, but I realize expensiveness is subjective.

What is your definition of not cloud? Does anyone else's VM count? So linode or digitalocean for example would be acceptable, or no?

I guess "alternative" is also subjective.

load more comments (3 replies)
[–] haui_lemmy@lemmy.giftedmc.com 30 points 8 months ago (2 children)

I selfhost for 2+ years and it is both a job and really cool. We‘re not at real consumer self hosting yet imo but we‘re close.

My setup is around 50 docker containers on two servers. Important (offline) and security conscious stuff at home and fediverse services on a vps.

I‘m currently working on object storage which is a lot of work but its fun and maybe will come in handy too.

You can check my setup on github. Feel free to hit me up if you want to do it too or wanna discuss stuff. You can also see my matrix in my bio.

Have a good one.

[–] shasta@lemm.ee 2 points 8 months ago (1 children)

Do you have HA run I've been trying to think about how to get my stuff running with SSO. One stumbling block has veen Home Assistant's apparent lack of support for it. Have to managed to find a solution to this? I've been thinking maybe I'll set it behind a proxy like nginx and enforce SSO at that level instead but I'm not sure if it'll work.

load more comments (1 replies)
[–] Anticorp@lemmy.world 18 points 8 months ago (1 children)

Is it over-engineered for you? Absolutely. For enterprise level applications that must ensure 100% up-time and have complex requirements? No

[–] leftenddev 5 points 8 months ago (1 children)

Exactly. That's the whole point of view of the video; for hobbyists and their personal projects, it is likely overkill.

[–] platypus_plumba@lemmy.world 3 points 8 months ago* (last edited 8 months ago)

Well, the title is click bait then.

Title: "Linux is the worst!"

Content: if your favorite software is Microsoft Excel.

[–] MxRemy@lemmy.one 14 points 8 months ago (10 children)

I would really like to mess around with self-hosting someday, but I live in a residential area and those sort of shenanigans are explicitly banned by my ISP. Is there anything someone in that position can do?

[–] leftenddev 24 points 8 months ago (1 children)

Your ISP bans self hosting? I've never heard of that before.

[–] deegeese@sopuli.xyz 29 points 8 months ago (2 children)

It used to be extremely common as a way of forcing people onto more expensive “business” services.

[–] leftenddev 5 points 8 months ago (1 children)

Wow that's messed up. I guess the only recourse then would be to ask someone or some local business if you could setup the server there for a fee, but at that point just use a cloud service provider and it's the same experience for about the same cost.

[–] MxRemy@lemmy.one 5 points 8 months ago (1 children)

I was afraid that might be the case... Definitely pretty messed up, but with the state of ISPs around here it's not surprising either. This guide is super awesome though, I'll use it if I ever get a chance to!

[–] leftenddev 3 points 8 months ago

I sure hope so friend! All the best of luck in the meantime!

[–] xilliah@beehaw.org 2 points 8 months ago

That's crazy.. I once changed to a business plan to get more reliable support and it was actually cheaper.

[–] Kuvwert@lemm.ee 9 points 8 months ago* (last edited 8 months ago) (1 children)

My local ISP is the same, no static ip without a business plan.

So I use cloudflare tunnels now and they can pound sand

Edit: tail scale funnels could also be a good option

[–] Djtecha@lemm.ee 4 points 8 months ago (1 children)

Why do you need a static ip? For a business case I get it. But for most stuff... Dns is there for a reason.

[–] Kuvwert@lemm.ee 2 points 8 months ago (2 children)

Because when my IP address changes all my websites stop point to the services. Unless I go and change the A record in my DNS every time that happens, which is frustrating and annoying. Cloud flare tunnels fixed that for me so that no matter what happens my domains are fixed to the local host services in my machine with no port forwarding and no DNS maintenance

[–] nintendiator@feddit.cl 3 points 8 months ago (1 children)

Because when my IP address changes all my websites stop point to the services

Stuff like no-ip and dyndns exist for that specific usecase.

[–] Djtecha@lemm.ee 3 points 8 months ago

Exactly this. I've been using afraid dns for over a decade. Easy to setup and is basically instant.

[–] Zagorath@aussie.zone 2 points 8 months ago

I have a static IP now, but I used to have a script in my cron that would update the IP address my Cloud Flare points to if it needed to. It was super easy.

[–] atzanteol@sh.itjust.works 8 points 8 months ago (2 children)

How seriously do they take it? I've been self-hosting stuff for...well for a long time, and It's been against my tos for almost all of it. The only issue I've had has been blocked outbound port 25.

[–] MxRemy@lemmy.one 4 points 8 months ago (1 children)

That's what I've been wondering, like can I just do it anyway? I have Verizon FiOS gigabit, for reference. If they really just don't care then I don't mind violating TOS at all, but I wasn't sure if they do or not

[–] atzanteol@sh.itjust.works 7 points 8 months ago

"Maybe." You'd have to try and see. I've mostly been on the cable networks so YMMV. The first issue would be if they block commonly used ports which should be fairly easy to test.

[–] Djtecha@lemm.ee 2 points 8 months ago

Yea and no one should be hosting their own mail server anyway. Just a massive headache.

[–] traches@sh.itjust.works 5 points 8 months ago

If only you and your family are using a service it’s better not to open ports to the public internet anyway. Tailscale or another VPN will solve this nicely and your ISP won’t be able to tell aside from bandwidth usage

[–] shasta@lemm.ee 3 points 8 months ago

You might wanna read that fine print again. I'm betting they only disallow self hosting for business purposes.

[–] cyberpunk007@lemmy.ca 2 points 8 months ago

I run an opnsense firewall with dynamic DNS to cloudflare. I have owned a domain for decades and I have it point home. Recently I gave up inbound NAT. Now I just use wireguard. It's performant and my phone automatically kicks it on it I'm off my Wi-Fi network. And I've significantly reduced my attack surface.

load more comments (3 replies)
[–] ericjmorey@programming.dev 14 points 8 months ago (1 children)

It's a shame that he didn't do a writeup on this. It's nice to have a video to demo the workflow, but it's really annoying to go back to the video to get details to try it yourself.

[–] anzo@programming.dev 3 points 8 months ago (1 children)

videogist.co will come handy then

[–] ericjmorey@programming.dev 4 points 8 months ago* (last edited 8 months ago) (1 children)

That looks useful. Thanks for the pointer!

Unfortunately, in this case I'm not interested in a summary. I already watched the video and would need to refer back to it for details, not general concepts.

I'll definitely use that site in the future though.

Edit: looks like it's not so good for long videos.

[–] anzo@programming.dev 2 points 8 months ago

Yeah, AI has limits. Here's another one stepify.tech

[–] onlinepersona@programming.dev 10 points 8 months ago (1 children)

I just want something easy and painless for self-hosting, not wrangling tons of YAML to get an nginx proxy to point to the services I have to manually setup requiring more YAML and more hand-configuration. And then I still have to think about backups, and honeypots, and logs, and and and and.

Of course companies don't want to have to deal with that shit either. Plus they don't want to have to host their own datacenter, worry about physical security, or network issues, or setting up physically in another country, and a bunch of other stuff. The cloud is supposed to be easier, but because there are so many customers with so many different usecases, shit becomes complicated.

Anti Commercial-AI license

[–] Anticorp@lemmy.world 2 points 8 months ago

Then you want traditional apache hosting through a company like HostGator. Stay away from AWS unless you know why you need it.

[–] FiniteBanjo@lemmy.today 7 points 8 months ago

I never liked the cloud from an efficiency and security standpoint. It's just a physical location somewhere else, which causes problems.

[–] cosmicrookie@lemmy.world 4 points 8 months ago

When you know something, it is tempting to tell others that it is easy. But it is not. I am no tech guy but i can install things like wordpress, webshops, forum etc on a webserver.

I have been scratching the surface of self hosting an really having a hard time even getting started!

[–] alyth@lemmy.world 3 points 8 months ago

I think this is an excellent video and I love the format of walking through a complete on-prem deployment.

My only criticism is the attack on "the cloud" as a whole. You can choose your level of abstraction, from a computer in the cloud (like EC2) to managed services (like EB). Personally I don't want to deal with hardware, so I use a Compute instance on Oracle cloud (free tier). The rest of my setup is similar to the author's.

load more comments
view more: next ›