17 ms·
Self hosting in 2023
- poisonborz 4y agoTitle would be better corrected as "website hosting". Self-hosting became a term for a much more ambitious scene to provide all kinds of services usually offered by FAANG/"big players", mostly in opposition to them.
- Godel_unicode 4y agoDisagree, I hear people use the term self-hosting all the time referring to this same thing. I hear your scenario called de-googling (or whichever your big co of choice is).
- meghan_rain 4y agoLooks like it even survived the Hackernews frontpage hug of death?
- michalwarda 4y agoI've spent some time on exploring the current self hosting scene after I got frustrated about pricings on different platforms and how absurdly complex certain stuff became. I'm happy to share it with you guys!
- j45 4y agoProxmox and some great guides on GitHub might make life a lot easier for many people. I am astounded as how simple and point and click it has been.
- vishal0123 4y agoNot to downplay the intent, but hosting static site is much simpler in something like github or netlify. Also in my area business internet with fixed IP is more expensive than what I would pay for decent enough cloud instance($50 vs $10).
- michalwarda 4y agoDefinitely simpler than setting up everything from group up. Though ATM I would argue that It would take me the exact same amount of time to get another app online :). Regarding IP, in the blog post further down I'm explaining that I also don't have fixed IP and how you can setup DDNS. Thanks for reading!
- deleted 4y ago[deleted]
- stjo 4y agoWith dynamic dns static IPs are not as critical. Most routers support them natively. What it does is quite simple - every time the router receives a new IP, it updates your dns entry. Not to mention that most “dynamic” IPs change only while the router is offline and your lease is up. So as long you don’t power it off, it may not change for large intervals of time.
- RockRobotRock 4y agoI have had my "dynamic" IP for two years now. I even managed to keep it when I moved to a new unit in the same appt complex
- nubinetwork 4y agoMy home network also seems to have no problem holding an ip despite being dynamic. I usually have to change the mac on my router before I'll get a new ip. In 15 years, I think I've only had it change unintentionally 2 or 3 times.
- infogulch 4y agoPresumably you only need a fixed IP for email delivery. Public sites like blogs could be fronted by a CDN, and you can manage private sites behind a vpn like tailscale etc. I think a design where you rent a cheap $5-$10 vps with a static IP that forwards SMTP messages both ways through a secure tunnel to your personal mail server in your home would be a good starting point for self hosting.
- ktpsns 4y agoIf you don't need all that cloud operations/deployment infrastructure, self hosting a website from home in 2023 is as easy as it was in 2003. Get a DDNS, do the NAT port forwarding, run some apache/nginx/whatever and push your files with sftp or similar to the server. In contrast to 2003, upstreams got better -- even Germany has average upstream speeds of 20mbit/second nowadays [1]. With 20mbit/sec you can do quite something with a page-only website and contemporary event based webservers. And thanks to SoC systems, energy consumption is a no brainer. [1] https://www.statista.com/statistics/1338657/average-internet-speed-germany/ https://www.statista.com/statistics/1338657/average-internet...
- michalwarda 4y agoDefinitely. I'm just so used to the git pipeline flow that it would break my usual flow a bit too much :). That's why those new tools just make it so amazing! Especially combined with better and better ISP
- dkjaudyeqooe 4y ago> self hosting a website from home in 2023 is as easy as it was in 2003. Get a DDNS, do the NAT port forwarding Did they have CGNAT in 2003? Because that breaks everything.
- flyinghamster 4y agoEven from the client side, CGNAT can break a lot of things. I'm very glad that my mobile provider gives me IPv6 as well - that allows me to get to my home systems without any NAT in the way. Even hotspot clients get an IPv6. Of course, IPv6 is its own can of worms, but (cross my fingers) it's working for me.
- Semaphor 4y agoI wish I could get both. Alas, I’m not behind a CGNAT and getting IPv6 would require giving that up :/
- 4y ago
- ilrwbwrkhv 4y agoThis is amazing. More devs should build stuff like this for themselves. On the extreme one of the scale there is the amazing Andreas Kling building his own operating system. Building a whole system will give you unprecedented control and understanding. That is what being a hacker is all about.
- michalwarda 4y agoAnd I have to say that this "physical" server running and seeing it just makes the experience of web developing much more "real". At least for me :)
- ilrwbwrkhv 4y agoIt is. I still get awe inspired that some markup I type and put on this disk here can be accessed across the world. Like I can physically touch the tape if I want to. It reminds me of how wondrous this whole thing felt like when I first discovered the internet in the 90s.
- bayindirh 4y agoHaving a server under your hand and deploying other things than webpages to automate your infra and life is a very underrated experience. I don't host my pages myself, but the server(s) I have power the invisible infrastructure which accelerates my life a lot.
- shswkna 4y agoInfra such as? Just interested out of curiosity. You can keep it vague if you prefer…
- bayindirh 4y agoWell, nothing to keep hidden. DNSMasq, Syncthing, a tool which I developed that sends e-mails when things go wrong, etc. The resulting infra is hidden, because it doesn't flow through any popular services or something. You can argue that Syncthing is using public discovery servers, but you can put it on a small VPS, and you'll have a complete off-the-grid installation of it, too. I host it on an OrangePi zero, so it's unobtrusively small. It just vanishes somewhere at home.
- IncRnd 4y agoThe blog that you are currently reading has a perfect PageSpeed score 100 / 100. Unfortunately, no it doesn't. The page that has this blog post scored 95 in performance for mobile in one run and 86 in the next. It scored 91 for desktop. They'd get a higher score by adding text compression and by serving static assets (all of them?) with an efficient cache policy.
- michalwarda 4y agoWeird, shows up as 100 for me... I'll look into that though! Thanks for heads up!
- IncRnd 4y agoYou're welcome! I dislike the tool for this reason - it changes too much. Though I've found that the guidelines are very good for my sites. PS I get 100 consistently for your home page, so maybe you have an optimization there that can be replicated?
- jakelazaroff 4y agoI see 95 mobile, 100 desktop. It's on the front page of HN, so presumably the server is taking a bit longer to respond to all the traffic.
- Brian_K_White 4y agoYou were there looking over their shoulder when they wrote "At least at the moment of writing it", and are asserting they are lying?
- tomcam 4y agoWait how do you add text compression?
- IncRnd 4y agoGenerally, you add mod_deflate, or a similar package, to .htaccess and add the mimetypes on a new AddOutputFilterByType line along with the algorithm. This is one page [1] that describes the process for apache or nginx, though there are millions of webpages that give various methods. [1] https://blog.hubspot.com/website/gzip-compression https://blog.hubspot.com/website/gzip-compression
- threeseed 4y agoOne thing to be mindful of is security. The last you want is for your setup to be compromised, be used to send spam/botnets and then getting perma-banned from your ISP. I would argue it's a lot less risky just to put your static site on S3/Github etc.
- michalwarda 4y agoAs mentioned in the post. I would probably not use this setup with my more "exposing" projects like full web apps.
- layer8 4y agoYeah, I would decouple it from any residential ISP, but use a $4 VPS to still self-host. That also removes the need for a DDNS setup. Given some basic Linux skills, all you need is SSH plus nginx+certbot on Debian with unattended-upgrades or similar, that you can point your domain to.
- threeseed 4y agoWould recommend Tailscale over SSH. Really easy to setup/use and means you don't have to open up ports like 22 which are constantly being port scanned.
- imgabe 4y agoYou can move ssh to a different port.
- indigodaddy 4y agoAnyone who thinks they need to move ssh to a different port likely doesn’t have their ssh security configuration setup optimally.
- gnramires 4y agoMaking it explicit: try to always use keys for ssh, avoid passwords. If you have to use passwords, make it very long (20+ chars) and random. Don't use dictionary words or reuse passwords from anywhere else.
- leerob 4y agoWanted to clarify some of the points raised about Next.js: > I’ve been using Next.js for a while and hosting the apps built with it on AWS with custom express servers. One day I’ve noticed that my servers are getting red-hot while doing almost nothing, and response times got huge. OP mentions they're hosting a static website now but must have previously been rendering a server-rendered page. It's not clear whether they explored the static-site generation support in Next.js, which would have avoided any regressions in server-rendering performance, making this a non-issue. > Long story short the library introduced a huge performance downgrade that was not caught by existing tests. > Because benchmarks were using only Vercel’s (creators of NextJS) “Edge” infrastructure. And the bug was happening everywhere but not there. Indeed, there was a regression, but it was not due to lack of tests as a whole. The linked threads point to issues both self-hosting (serverful) as well as on Vercel (serverless). There was a week between a fix being reported through the opened issue and a fix being placed on a canary release. Regressions will happen – the best thing is ensuring more tests are added and things are fixed quickly. > We need alternative independent hosting to ensure that the community does not get stuck with a single provider. You can (and will always be able to) host Next.js, both completely static (drop files in an S3 bucket) or on a server (Docker, EC2, whatever you want). Just wanted to clarify those things. Your new site looks great, nice work.
- michalwarda 4y agoWow. Didn't expect a response directly from Next.js VP! Before anything I wanted to say that I love Next.js and I'm using it in my projects daily. It's definitely the best solution right now at the market for the project types me and my company is producing :). In regards to the inconsistencies in the article. Yes it was a server rendered page, not this particular blog. A much more complicated project. Also I didn't want to sound as if the regression was handled badly. Quite the opposite, as soon as I've pinpointed the issue and was able to create a good Issue in the tracker the response was very swift! And I understand that the regressions will keep on happening. I've been building apps for long enough to see waaaaay bigger problems slip into production. So no hard feelings!
- leerob 4y ago
- antihero 4y agoAstro be pretty chill if you want a no computation approach to making a website
- fm2606 4y agoI self host and use a RPi 3B+. Actually I have a total of 3B+ but only one is actually doing anything for the website. I have my database running on a RPi 4b with 4gb. I could easily consolidate to a single Pi but early on I had different plans for each one but just keep 'em running for no good reason. I'm fortunate in that I have a static IP. Initially I was using NOIP and it worked great but then noticed my IP address never changes. Also, NOIP still exposes your actually IP which I didn't care for. Now instead of NOIP I rent a cheap $4/month VPS with nginx to reverse proxy to my home. This does require me to open a port, which again I'm not a huge fan but it is what it is. My next iteration will be where I close the port and do updates via SSH. I'm the only one who uses my website so it is more of a playground for me than anything. Finally, I feel setting up a server - or just interacting with a remote computer, be it across town, across the country or in the other bedroom, is a good skill to have. When I got my 1st remote job that gave me access to a server I was more than comfortable to do what I needed to do.
- lost_tourist 4y agohow would noip work if it didn't expose your ip? This statement confuses me. It's funny how used laptops that are 10x faster than an rpi4 are about the same price. Obviously they use more power though :)
- fm2606 4y agoAt the time I set it up I didnt know what I was doing or how it all worked, etc etc, so that is where the statement about it exposing my IP came from. It has been so long that when I first set it up I may have known it was exposed but didnt care. As time went on I just didnt like knowing it was exposed. Why? I just prefer it not be. Not that it couldnt be found I am sure And you are absolutely right about the laptops and I have 2 right now that are just collecting dust. But currently I have no reason to change to a laptop. It is kind of like driving a nail in the wall with a sledge hammer, sad to say a laptop is more than I need in a server at this moment. The only benefit I get from a laptop for my current needs is a built in battery backup.
- moritonal 4y ago
- schemescape 4y ago> Turns out in 21st century you can even update [Raspberry Pi] without downtime. Hopefully I didn't just miss it in the article, but... how?
- jacooper 4y agoKernel care is apparently free for the raspberry Pi https://tuxcare.com/patch-raspberry-pi-systems-without-a-reboot-for-free-with-kernelcare/ https://tuxcare.com/patch-raspberry-pi-systems-without-a-reb... Also I think you can use Ubuntu PRO on the pi, which includes Livepatch.
- deadbunny 4y agoI'm only seeing a long and posing as an article telling me to sign up for a 7 day trial.
- pabs3 4y agoAll Linux kernel livepatch stuff are paid services, as I understand it, the Linux kernel live patches aren't possible to just produce automatically, it requires a team with enough Linux kernel knowledge to make it work and usually such teams want to get paid. Also, I think that the base Linux kpatch tools are open source, but the infrastructure that RedHat/SUSE/Canonical/etc use to provide them are not. However, I think the Gentoo folks do have some open infra code. https://github.com/dynup/kpatch https://github.com/dynup/kpatch https://wiki.gentoo.org/wiki/Elivepatch https://wiki.gentoo.org/wiki/Elivepatch https://wiki.gentoo.org/wiki/Live_patching https://wiki.gentoo.org/wiki/Live_patching https://github.com/gentoo/elivepatch-server https://github.com/gentoo/elivepatch-server https://github.com/gentoo/elivepatch-client https://github.com/gentoo/elivepatch-client
- jacooper 4y ago> KernelCare understands that hobbyists need protection too, so we offer this benefit to Raspberry Pi enthusiasts free of cost. The currently supported chips are the BCM2711 (Pi 4) and BCM2837 (Pi 3 and later models of the Pi 2), and we offer support for Ubuntu Focal Fossa for 64-bit ARM platform, and soon support for Debian and Raspbian.
- Ayesh 4y agoI'm still not convinced that self hosting is cheaper though. Where I live, both the electric grid and Fibre connections are unreliable, and the ISP charges about $3/month for a static IP. Assuming 2.5W for a RPi, it takes 1.8kWh a month, costing around $0.25 for electricity. This also has the downside of using residential IPs, having to deal with CGNAT/NAT if the ISP has no static IPs, exposing your home IP, slow disk speeds in SBCs, etc. Services like Hetzner have private servers for almost the same amount, which gives you faster storage, server IP addresses (for email reputation), DDoS protection, and a whole lot more to sweeten the deal. The only thing I self host today is a script that runs on my OpenWRT router, that uploads the probed data from my inverter and BMS to monitor my PV setup. I look forward to get rid of it too, once I get better BMS/Inverter.
- michalwarda 4y agoAs mentioned in the blog post. I wouldn't probably put a "real" production app on it so easily. You can replicate the same effect and more on a service like hetzner. But if you have a Raspberry Pi laying around and like 2-3 hours. At least a blog is enough! And the amount of hardware related things you'll learn is massive. I've been running a few web bootcamps in the past. Explaining the hardware part through cloud admin panels is extremely hard. Having a physical thing right in front of you is spoko simple. Much easier for people to *click.
- gurchik 4y agoSelf hosting can allow your budget to go much further. Tiny PCs like Intel NUCs or Lenovo Thinkcentres[1] are very light on power usage. I bought one that idles at 10 watts, which is $10.32/yr for me (assuming I never power it off). I bought it on Ebay and upgraded it to 32 GB memory for a total cost of $250. The cheapest comparable server on Hetzner costs around $36/mo so I break even in less than a year. For production purposes, a public cloud has many benefits you can't get at home. But for hobby purposes, keeping the cost low is most important for me. 1. https://forums.servethehome.com/index.php?threads/lenovo-thinkcentre-thinkstation-tiny-project-tinyminimicro-reference-thread.34925/ https://forums.servethehome.com/index.php?threads/lenovo-thi...
- 4y ago
- schemescape 4y agoI'd never heard of Coolify, but it looks like what I've been searching for, i.e. an all-in-one solution for hosting stuff on a VPS (or Pi). But the docs [1] say it requires a minimum of 30 GB of disk space. Does anyone know if that is accurate? What could possibly be taking up that 30 GB if all I want to do is host a static site and maybe Deno or Node? I'm fairly certain I set something similar up in the past on a much smaller MicroSD card... [1] https://docs.coollabs.io/coolify/requirements https://docs.coollabs.io/coolify/requirements
- michalwarda 4y agoI have a 32 GB SD card it's running on it no problem. It currently takes like 4 GB (it can store previous docker images for speeding up builds and allowing auto rollback).
- schemescape 4y agoThanks! That sounds much more reasonable. I wonder why they put 30 GB as the "Minimum required resources"...
- morpheos137 4y agoLinux is really bloated these days. I am confident you could self host a decent website on OpenBSD with less than a GB of disk space and several GB of RAM. It is really incredible to me how in 2023 we are doing basically nothing that could not be done in 2013 but it takes an order of magnitude more computing power. Serving a medium size website is not really that complicated unless you are hosting a bunch of videos or whatever. Stories like these just go to show me how much fat there is in Tech. The sector is in for a sharp reality check. You don't need 10s of gigs of RAM and 20 cores to host your blog or small business e-commerce site. But if you use the latest bullshit framework then maybe you do...
- MSkog 4y agoIf you don't need/want a UI then Dokku is another option. It is more mature with things like built-in backups for the database. I've been a happy user for many years now. Coolify seems nice as well though. https://dokku.com/ https://dokku.com/
- urbandw311er 4y agoDoes anybody know how you’d do this if your ISP uses carrier grade NAT? (Eg mobile dongle). My limited understanding is that with CGNAT there isn’t a unique public IP that points to you, (even if only temporarily). So presumably DDNS is out? I guess IPv6 could/would solve this one day?
- watchdogtimer 4y agoI use a Cloudflare tunnel, and set up my DNS at Cloudflare to route incoming requests through the tunnel
- hansr 4y agoYou are correct that a CGNAT doesn't give you a unique IP address, and you have no control over port forwarding. My ISP put me behind a CGNAT right while I was working on adding letsencrypt support to ZitaFTP Server (which requires the server to be internet accessible). They would have given me a static IP address if I paid them a lot more... The solution is a tunnel between your machine and an external server with a static IP address. The external server will forward requests to your machine. Cloudflare tunnel is an option (thanks watchdogtimer), and there's also a service called Ngrok. I took the most complicated option: setting up a reverse ssh tunnel to a VPN that I already had.
- jarek83 4y agoFor me google no-tool (as it often is just random score) shows 88/91 for the page. On subsequent run it's 95/100 though.
- Entinel 4y agoI really wish someone could convince me self hosting is worth it but more often than not it just seems like busywork. Do you really need to self host your static website? There is no real privacy gained and probably some security lost. Then you get into hosting more complicated apps, email, etc, and making sure you can access them from anywhere at any time and it just doesn't seem worth it to me.
- michalwarda 4y agoI had a huge paragraph in the article about decentralization and how important it's in my mind for the future of internet but I've scrapped it because it felt like I was a blockchain guy even without mentioning it. So I'll make it simpler. Honestly I just feel awesome seeing those blinking lights in my room and thinking it's sending packets to other people.
- worksonmine 4y agoIt can be as difficult or hard as you make it. If you want just nginx serving static files or k3s with multiple services on a tiny cluster is up to you. The benefit for me is that I can be confident that my data is mine. But mainly because it's fun and great for learning. In my experience it's not much harder than navigating the AWS interface, where I often feel very lost. But of course YMMV. > There is no real privacy gained Why not? Other than I can't be sure that my device and browser doesn't spy on me I don't see your point?
- Entinel 4y agoWhat privacy is gained by self hosting a static site rather than using anything else?
- JohnFen 4y agoIt removes the exposure to a service provider.
- worksonmine 4y agoOne (or more) less service(s) to give your e-mail. If you want to see usage you can just check the page loads instead of having to add analytics because github pages doesn't share any stats. The visitors get the same benefits because it's one less site behind cloudflare. The big providers can't figure out (and possibly sell) your interests based on the sites you host. Not my reason to self host (static) but more a welcome side effect.
- MangoCoffee 4y agojust get a cheapest VPS from lowendbox
- AdrienPoupa 4y agoSelf hosting is really cool. However when it comes to static hosting, apart than keeping your data at home and having fun setting up servers, I don't really see the point when there's so many free good options. I use CloudFlare Pages for my blog, their integration with GitHub is flawless and you get to host your website at edge for free. When I need to host dynamic content, another good option is CloudFlare Tunnels (I promise I'm not sponsored by them, their products are good is all :)), so you don't have to do shenanigans updating DNS records on the fly, and more importantly you don't have to compromise your network opening up and forwarding ports.
- mistrial9 4y agoCloudFlare is a MITM against its clients, by design. Everyone is good when things are good, but when trouble comes ..
- AdrienPoupa 4y agoIf it comes, you switch to a different hosting provider in about 5 minutes, that's not a very big effort
- hansr 4y agoTrue. Is there a Content Delivery Network (CDN) that isn't a MITM, though? Sitting between the client and server is how they work...
- john459doe 4y agoI have lost count of how many sites Cloudflare has interfered with, insisting on proving myself human yet again, during the past three months. This is about the time I started using the LibreWolf browser (even disabling adblocker). When I open up Chromium, the problems stop.
- JohnFen 4y agoI don't want to use Cloudflare.
- autophagian 4y ago> if you want to Dockerize it, then Docker related stuff is required i.e. Kubernetes Yeah... I'm not surprised the author gave up on it, but you absolutely do not need to use k8s if you're dockerizing something like a blog. I'm a little baffled at this sentiment.
- michalwarda 4y agoYeah. Maybe I phrased it badly but I meant like more complicated apps than a blog :D
- autophagian 4y agoAh, gotcha! Even then, I've found i've gotten a pretty decent distance with docker-compose before k8s sounds like an attractive (or least bad) proposition
- itpragmatik 4y agoWhy k8s? docker-compose works just fine.
- fijiaarone 4y agoOnce you get into dozens of pods with multiple services with complex configuration, need to reliably orchestrate the order in which those services come up and need to use shared nothing secrets, Kubernetes starts to pay off these days, thanks to the number of handy recipes and playbooks available after searching through all the spam and marketing fluff.
- rambambram 4y agoQuestion: were you forced to use a subdomain with your chosen method, or was selfhosting also possible on the main domain that you purchased?
- michalwarda 4y agoPossible on both.
- imiric 4y agoI'm all for self-hosting and run a few services on my LAN, but would never allow HTTP traffic from the internet to enter my network. If you've ever seen a public nginx log, you'll know it constantly gets hit by all kinds of bots and vulnerability scanners. No matter how secure and isolated I make the web server, I just don't want to see that traffic, nor expose my home IP to further scrutiny. It's trivial to host a static site on someone else's infrastructure for very cheap or free, and you get to benefit from CDNs if you need it. I don't see what you would gain from doing this from your home network.
- ed25519FUUU 4y agoPut it behind cloudflare if you’re worried about it. It’s free and increases performance.
- gnramires 4y agoI think an alternative you can use a cheap VPS (there are very inexpensive options for this[1] for like $15/y) and tunnel traffic from your home server. If you're only serving static content, that might be enough to host everything as well (or $20/y for a kvm slice; for anything more complicated, I think 1GB might be advised). edit: this way, you get a free IPv4 (static) address as well, as well as security and avoiding DDoS on your home connection. [1] https://buyvm.net/openvz-vps/ https://buyvm.net/openvz-vps/
- timbit42 4y agoYou can create a second network behind your router to keep your LAN separate from the server's LAN.
- megous 4y agoRandom http traffic seems about as harmless as it ever was, if you just host static pages, or your own scripts/software and nothing generic. What's a bit iffy is the privacy aspects. If you host anything that can identify you, your identity is just a HTTP request away for anyone who sees traffic from your IP address. But these concerns can be somewhat mitigated by making the server drop connections unless a known Host header or SNI is sent. Wholly recommended if you host stuff on your hope IP! Easily done with nginx by ensuring all server {} blocks have a proper server_name and a separate default server {} block just having return 444. So unless someone already knows the domain name of your home server, they'll not be able to access it with just an IP address. You'll stop many bots this way, too.
- RheingoldRiver 4y ago> a cheap UPS to keep it running in case of power outage (which happened once in the past year, so it might be a bit overkill). I don't think this is overkill, I think it's necessary. A UPS is pretty cheap compared to the completely-uncontrollable chance of losing power in the middle of working on something. Sure, there's autosave and most things are relatively recoverable, but this is just such a cheap investment (at least, for most people who will be reading this forum, I understand it isn't for everyone) compared to such a scary reliance on something that is not very reliable (which makes me very upset about income disparity, it's something everyone should be able to have). My power is extremely unreliable so maybe I'm a little biased - we get brown-outs (power drops for maybe 2 seconds and comes back) maybe 3-4 times a year, which is wild imo for what should be a very well-developed area (relatively wealthy suburb of Chicago) but it's a pretty old building so not too surprising I guess. That said I will NEVER have a desktop setup with a UPS, and I encourage absolutely everyone to do the same. I also have a wireless card so that in an emergency I could tether my pc to my phone for internet if need be, and I highly recommend this as well. It's enough to reconnect and send a couple Slack messages quickly and then disconnect again and wait out an outage, without driving up your data bill. (Just use your phone? Maybe, but I don't have everything installed, and I can't type for shit on my phone keyboard anyway)
- Scubabear68 4y agoHere in Western NJ, ash trees have been decimated by the emerald ash borer. The big impact is in communities with lots of ash trees are now getting constant power outages from dead trees coming down on lines. The power company is supposed to trim back dead trees near the lines (ever since Hurricane Sandy), but the ash decimation has overwhelmed them. Our little town of 6,000 or so loses power 3-4 times a year. One road with lots of ash trees loses power 10x a year. People are beyond UPS here and into generators.
- shanebellone 4y ago"I don't think this is overkill, I think it's necessary. A UPS is pretty cheap compared to the completely-uncontrollable chance of losing power in the middle of working on something." I'm using a laptop as a server and will buy a UPS for my modem/wifi. That combo will offer many hours of uptime without power.
- mythz 4y agoNot sure why you'd self-host a public site from home when you can get a VM from https://www.hetzner.com/cloud https://www.hetzner.com/cloud for € 4.81 /mo (1vCPU / 2GB RAM / 20 TB bandwidth) with much better internet access. Residential internet connections are more unreliable, have poor upload speeds and requires running a server 24/7 with ongoing electricity running costs. Or if it's a static rendered website you can publish on GitHub Pages for free and use a CNAME to use a custom domain which is what we do for our docs https://docs.servicestack.net https://docs.servicestack.net created with https://vitepress.vuejs.org https://vitepress.vuejs.org that uses GitHub Actions to automatically build and publish the site on commit.
- deleted 4y ago[deleted]
- AussieWog93 4y agoI don't think people are seriously doing self-hosting for practical reasons - it's more for the fun and pride of setting something up yourself.
- artificialLimbs 4y agoI run a basic commercial site on my home because after 2 years, my co-op owned fiber ISP has never had so much as a blip of downtime. If they did, I can spin up a cloud server, pop the backup down there, and redirect via Cloudflare in probably less than hours.
- superkuh 4y agoYou don't control a VPS, uptime doesn't matter, and even my 5 Mb/s upload is just fine. Electrical costs are marginal. But most importantly there is nothing more convient than $ cp photo.jpg ~/www/ and sending someone the link example.com/photo.jpg. Plus you have tons of space. That's not to say that a VPS in addition isn't useful or fun. https://indieweb.org/POSSE https://indieweb.org/POSSE and all. It just isn't at all required.
- 4y ago
- sirsinsalot 4y agoMan, I feel like sometimes people forget the 1990s. I was there, running an Apache service and whatnot. It sucked. Cost a lot of time, and really, fiddling with firewalls and Apache configuration didn't teach me much. All hail PaaS and the like. I'm not looking back.
- deleted 4y ago[deleted]
- anon291 4y agoMeh... Even the best PaaS platforms are child's play compared to advanced declarative configuration systems like Nix. One file and I can recreate my multi box self hosting setup. Why would I bother with a platform with a bunch of state?
- sirsinsalot 4y agoOne Docker compose file and ... Most PaaS type offerings for Web dev separate state and code. I can destroy and redeploy a whole cluster in two commands
- aembleton 4y agoI find it easier with Nginx. Certainly feels easier than I remember back around 1999 with Apache. Also there's way more information out there on how to configue and set up than there was twenty years ago.
- NorwegianDude 4y agoMore people should try to self host things again. Seems that people are forgetting how things work and instead use services that does it for them at some cost. Self hosting is rarely complicated. It's also easy to achieve better performance and lower cost in many situations.
- artificialLimbs 4y agoThis. I have anywhere access to 5 machines, way more storage than I need, and 100% control of everything that goes on in the network.
- deleted 4y ago[deleted]
- Vayl 4y agoFor someone who knows nothing about self-hosting, where should I start? I'm a self-taught junior dev but haven't had a chance to dabble with any aspect of deployment yet... willing to learn though.
- nubinetwork 4y agoSet up a basic web server, then try something like WordPress/Drupal (with some database backing it)... then maybe SMTP/IMAP with spam/av filtering and a web frontend (roundcube/squirrelmail)... that will probably keep you busy for a few months :)
- soupbowl 4y agoYou can check out some selfhosting communities for ideas, help or to lurk. https://www.reddit.com/r/selfhosted/ https://www.reddit.com/r/selfhosted/ Setting up your own DNS like pihole and a personal vpn to enable you into your home network when outside is usually a good starting point. Or even simpler and potentially useful setup your own gitea instance, it's easy just use the sqlite backend.
- cabbagesauce 4y agoWeird post. If this whole infrastructure is built just to render a static page, I can guarantee that from the point of view of someone reaching it out from Indonesia, then the PageSpeed wouldn't matter. It would be super slow. In fact https://gtmetrix.com/reports/grifel.dev/KDVSwSmr/ https://gtmetrix.com/reports/grifel.dev/KDVSwSmr/ shows that render time of your page is 1.8s and TTI is 1.2 sec. Which is 4X times of what PageSpeed shows. I host my blog on CF Pages, and my front pages loads is subsecond time (around ~725 ms actually). This incurs no electricity bills or any additional costs to me. And it's aggressively cached, compressed and also distributed on Edge Cache. Which is literally impossible with RPI at home.
- deleted 4y ago[deleted]
- andyp-kw 4y agoHe mentions that he doesn't see it as a problem for his use-case. "so I’m not on the edge right next to your house, but I guess it’s not a problem." I don't see why it's a weird post.
- jrnichols 4y agoI still enjoy self hosting, and part of the challenge now is "how can I do it without having a loud power hungry server?" I did it with the pi3 for a few years, but expanded into Proxmox and a small form factor Dell box with a new m2 ssd in it. It's been great so far, and does quite well on the UPS when we lose power. Went from a PowerEdge 2650 in the spare room to a way smaller optiplex 3060. SO much quieter and friendlier to the power bill. Also, a lot faster too. :)
- Klasiaster 4y agoWhile UPNP port forwarding works well for IPv4 (once you make sure to allow it in your local router config), I didn't find find it working yet for IPv6 and had to make custom port forwarding rules for the IPv6 address. Also, while I couldn't use port 80 I was happy that Caddy has working Let's Encrypt cert generation for 443-only usage. These "small" issues are the largest hinderence in self hosting at home, from my point of view.
- synergy20 4y agojust use $4 per month vps? I used a $10 vps as I also host lots of other stuff other than a website.
- LAC-Tech 4y agoI’ve been using NextJS for a while and hosting the apps built with it on AWS with custom express servers. One day I’ve noticed that my servers are getting red-hot while doing almost nothing, and response times got huge. Long story short the library introduced a huge performance downgrade that was not caught by existing tests. Why so? Because benchmarks were using only Vercel’s (creators of NextJS) “Edge” infrastructure. Impossible! I'm reliably informed that frameworks are "battle-tested" and I'm being cavalier by doing something simpler that's sufficient for my use case.
- travisporter 4y agoSelf hosting is appealing but I’m worried about exposing my home IP to the world. Is this something to be worried about
- graymatters 4y agoYou expose your home IP every time you visit a website from a device inside your home.
- andyp-kw 4y agoI think they're talking about opening the router firewall to inbound traffic, as opposed to the standard outbound traffic.
- JohnFen 4y agoBut you only open it to your red zone machine, which should be a separate net from everything else. You're not opening your entire network to inbound traffic. If you get hacked, the damage is limited.
- wswope 4y agoYeah, it’s a legit concern (even if low probability). An easy workaround is setting up a $5/mo VPS to act as a bastion host and relaying all your traffic through that.
- artificialLimbs 4y agoHost your DNS on 3rd party provider like Cloudflare and proxy all http requests. I've got traffic from all foreign countries turned off from them since I'm not an international business. I imagine you can probably configure your server to only accept connections from cloudflare if you're ultra paranoid.
- komali2 4y agoCan you "proxy proxy?" My setup has nginx config files for each of the subdomains, each of which does a proxy_pass to some port for whatever the service is. Then my server box hosts like 20 different services, all of which right now I just point to from google domains using dynamic dns. So instead I would have requests go to... what, an nginx I host on cloudflare?
- sandreas 4y agoI personally prefer to self host Proxmox with ZFS. It is ready for enterprise use and can be easily backed up via external drives. There is even a Raspberry Port (https://github.com/pimox/pimox7 https://github.com/pimox/pimox7), but I would never use a Raspberry to self-host again (not because it is not suitable or reliable, just because I need a little more power) I use Fujitsu D3417-B1 Xeon e3-1225v5 32GB DDR4 ECC Samsung 980 Pro 2TB (with up-to-date firmware) Pico PSU 150w and it is using 9.3W in Idle and about 12W running my daily services. It can even run a macOS VM for experimenting / software development, USB-Passthrough, Replication, etc. etc. It is rock solid stable, not too power hungry, can run nearly ANYTHING and I never looked back.
- houzi 4y agoWhile I like Proxmox and have used it in a startup, I wouldn't recommend it for enterprise simply due to how flaky the Terraform integration was the last time I checked. Probably a year or two ago. Regardless, the Terraform integration was done in the typical open source fashion of a single developer, where I'd question the amount of resources put into getting the software past 80% completion. The company behind Proxmox does not seem to prioritize the enterprise market segment. We ended up using the REST API for automated provision management and there are certainly warts. It's a far cry from being a turn-key solution, which I'd argue is preferred by a large enterprise. It's great for click-ops if that's your use case, but that also wouldn't qualify as an enterprise use case.
- ghoshbishakh 4y agoA more easier way of connecting your raspberry PI server to a public domain / URL is to use https://pinggy.io https://pinggy.io It's just one command.
- quickthrower2 4y agoI see a baby flying out of the bathtub here. You can still use NextJS - just get it to prerender the entire site statically. Then you get the plus sides of using NextJS, but can take your static ZIP file of files to any host you like, or self host. You then get, for example, an HTML file, with all the elements ready on page load, which can be 'rehydrated' when React kicks in for deep functionality and interactivity.
- udkl 4y agoCan you explain this please ? I have a netxjs based discussion forum in development. Is it as straightforward as issuing a command to pre-render and then the site re-hydrates via Apollo on it's own ?
- weird-eye-issue 4y agoForums are dynamic so no you can't fully static deploy that
- quickthrower2 4y agoYes this only works when you use JS to implement anything dynamic, user specific, requiring up to date (up to the second) data and so on. You can keep the static content fairly up to date. For HN for example, you could prerender much of the content including latest comments and get Next to keep it up to date, cache invalidating as necessary. Basically have it rebuild static pages as posts are made. Then use fetch calls or maybe sockets to get the very latest posts and keep it up to date, even live updates if you wish. ISR is the jargon here: https://nextjs.org/docs/basic-features/data-fetching/incremental-static-regeneration https://nextjs.org/docs/basic-features/data-fetching/increme... It is a bit like a mirror of what HN does. HN will use caching so that if you are logged out you get fast renders of pages. Instead of caching, you are pregenerating and keeping it up to date.
- udkl 4y agoThanks, this was useful.
- fijiaarone 4y agoHe did mention dynamic DNS, but that’s really only ok (in the US at least) if you’re willing to to be down did a few minutes every day, and as long as you get hardly any traffic. Even with your 300 (100)mbps fiber connection, you’ll only get 5-10mbps upload, and only if you have virtually no incoming traffic. It’s (barely) ok for zoom or counterstrike, but you’ll be blocked for hosting a web server. The days of being able to self host are long gone.
- JohnFen 4y ago> if you’re willing to to be down did a few minutes every day I haven't had this issue with my setup. There is a couple of minutes of downtime every few months, but when it happens, it usually happens late at night when nobody's using it anyway. It's yet to cause anyone to not be able to reach the server when they've wanted to. This certainly depends on what ISP you're using, though. > you’ll be blocked for hosting a web server Again, depends on your ISP. Mine won't block you for this.
- anon291 4y agoI pay a data center a hundred or so dollars a month and put a server running nginx and my nixos mailserver. No downtime. Power is guaranteed with an sla and it's faster than anything. Why bother self hosting at home when you can just do it for real by paying the same price as an internet connection?
- aembleton 4y agoBecause I will be paying for an internet connection regardless and my Pi hasn't had any downtime for the last two years, and its 8 years since I last had a power cut.
- anon291 4y agoI live in the PNW where down trees regularly kill my power for days. If your power is reliable, and your internet connection is good, then go for it.
- awill 4y agohe lost me at "I've bought a domain on Google Domains"
- JamesAdir 4y agoIs there a good guide that explains all the in and outs of building a server?
- sodimel 4y agoI'm selfhosting a few services (a small php website w/ blog & admin, a nextcloud instance, some small django websites, and my txt rants here: https://misc.l3m.in/txt/ https://misc.l3m.in/txt/ ). Why txt? Because I only have 600kB down & 200kB up, and even if I can share websites with images (webp) and other files (fonts, css...), my connection is too bad to be able to share this kind of content to hundreds of visitors, like the hundreds of visitors HN is bringing to my website when I share a post and it reach the front page (with a peak of 75k unique visits on a txt file in one day, that's nearly 1 visit per second, if 2 or 3 people are visiting some of my bigger pages, then my upstream connection is all taken by the visitors). On top of that, robots that are crawling my websites are a real pain; out of the 7k requests I got yesterday on all my websites, nearly 6k are from crawlers (and 500 from bots trying to break my websites), that's ~75MB of data. Some of them are spamming my websites with 1 request per second for hours, so I created a new rule to ban them using fail2ban. But even with all of this, selfhosting feel liberating ; I own my data, all of it is saved here in my house, I control my server (an old refurbished dell optiplex fx160 with 3 gigs or ram, an intel atom 220, and an old hdd of 500GB), and my websites are still faster than the vast majority of the web.
- chung1905 4y agoYour txt site are really similar to mine: https://wiki.chungn.com/ https://wiki.chungn.com/ I found it's really nice to store those text data in txt files instead of a database.
- sodimel 4y agoWhat a nice knowledge base you have! I'm kinda jealous. The point of the txt thing (at first) was to show a friend that you can start a blog right away with only some txt files (he wanted to start a blog, but he started right away to worry about the time to setup something). In the end I used this txt thing to share posts to a broad audience without clogging my connection too much.
- 8fingerlouie 4y agoSorry to be the "grumpy old man", but i don't get it. In my experience, self hosting usually falls into two categories, people that "just want to host a simple static website", and "host all the things", and both are usually served better by using the cloud. Most are in the category "i want to learn about self hosting", meaning they have (close to) zero experience, and while self hosting by itself isn't hard, maintaining a secure environment is, and that's where many people fail. For the "simple static website", you can host it for free pretty much everywhere you like. Github pages, Azure static web apps, and countless others all offer stable, professional cloud servies for free, without the risk of exposing your network to the internet. For the "host all the things", you see people attempting to mimic and entire data center at home, complete with monitoring, CI/CD and everything, and while i appreciate the learning experience, most people are blissfully unaware of the chore it is to maintain such a thing. Most of these services are better off being in the cloud. - email is a likely thing people will want to self host, which is also perhaps the most stupid thing to do. First of all, it is a chore to keep your server off of various block lists, and you gain nothing but pain by self hosting it. Email is insecure by design. Every email has at least 2 parties, the sender and the receiver, and with >50% of the worlds recipients running on Google/Microsoft/Yahoo/whatever, your email will get indexed. A much better alternative is letting someone who knows what they're doing host your email, and use a personal domain. That way you can move your MX records if need be, still maintain your email address if changing provider, and let someone else deal with the problems of running the service. If it's privacy you want, use something else, or use encryption. In both cases, self hosting gives you nothing additional. - cloud storage is another contender, and the most common "excuse" is that cloud hosting is too expensive, and yes, if you plan to store 200TB in the cloud then it is, but maybe instead you need to look at which files are needed when away from home, and use the cloud for those, and leave the rest at home, accessible by VPN if need be. If you need privacy with cloud file hosting, something like Cryptomator (https://cryptomator.org/ https://cryptomator.org/) is much easier/better than maintaining your own server. (as a side note, you can get around 20TB of cloud storage for €20/month, or roughly the price of the electricity required to run a 4 drive NAS for the same time, but not including cost of hardware). Not matter your setup at home, you will never create something as resilient as the major cloud datacenters. i.e. OneDrive (paid version) stores your files across multiple geographically separated data centers, using erasure coding, so if one data center dies, your files are still available in another center, and hastily being replicated to a third center. It uses atomic writes (like CoW filesystems, ZFS, Btrfs, APFS, etc) to ensure data written is correct, and has checksumming (inherent in the erasure coding), as well as versioning of files (OneDrive has unlimited file versioning for 30 days rolling), meaning you get at least some ransomware protection. So in the end, most people are way better served by putting their stuff in the cloud and encrypting it, than they are exposing insecure services from home. By all means, build the cluster at home as a learning experience, but save yourself some trouble and keep it within your LAN. If you need to access it externally, use a VPN instead. With modern VPNs like wireguard, there is very little overhead, and your data will thank you for it (as will your family as you suddenly have a lot more time to spend with them!).
- jve 4y ago> a cheap UPS to keep it running in case of power outage What are the cheap options for RPI? I'v read that powerbanks are not designed as UPS and have no passthrough charging: https://goughlui.com/2021/09/03/note-potential-issues-of-using-a-usb-powerbank-as-a-ups/ https://goughlui.com/2021/09/03/note-potential-issues-of-usi...
- marginalia_nu 4y agoSelf-hosting is weird. I hear a lot of people say it's so much work, but I put like an hour a month into my server at most. I think it's mostly fine from an administrative standpoint, as mentioned elsewhere, not much has actually changed from 2003. You definitely don't need kubernetes. If anything, I think most of what's changed since then is that there's been a flood of bad sysadmin advice making people believe they need cluster management stuff on a single computer. Cattle is plural. What you've got is a pet. Love it and it will love you back. I host a lot of weird crap on my living room server including a publicly available Internet search engine, and server administration wise it's not a lot of work at all. The search engine requires a fair deal of babysitting, but that's on me for building shitty admin tools. It's also great to have a beefy always-on computer to run compute jobs flooring all cores of the CPU for 200 hours on and not have to worry about bills later. Like I can't recommend this enough. There's so many cool projects gated behind taking more than a few hours to process. What does give me a hassle is hosting stuff I didn't build myself though. Like gitea. Got a bunch of bots signing up creating spam profiles. I think as a rule I'd recommend against hosting anything that offers comments or sign ups. Cloudflare helps, but only just.
- olavgg 4y agoI have self hosted Gitea, but its for my team, and you can only reach it with my self hosted wireguard. It is not a lot of work at all, I update the Gitea lib a few times every year and its as simple as replacing one binary file.
- marginalia_nu 4y agoYeah mine is publicly accessible, I should have probably added.
- lifthrasiir 4y agoI used to keep a server in my room for a decade and I plan to retire it this year. An hour a month is actually a lot as this overhead is highly non-uniform; the server may work fine for months then need a whole day worth of work, which I can no longer easily sustain. [1] That said, I have of course run lots of softwares I haven't written, so maybe the actual takeaway from your experience should be that. [1] For example, distro upgrades. Have a distro that somehow promises no breakage? Good! Now I can spend hours to migrate to that distro and learn all its quirks only to find that the promise didn't actually hold.
- hoechst 4y ago> Similarly, the bare metal solution consisting of nginx with manual Let’s Encrypt cert setup was too much of a hassle. It's not a hassle. Setup once and then forget about it. It's dead simple, easy and there's a million tutorials on it online. But it's boring (this is where I'm going to old-man-ramble about things, so better stop reading now). Imo, that's why we have so much bloat, complexity and overkill use of containerization that requires orchestration in software and devops. We don't go the easiest possible route, but the one that seems interesting and most fun. I totally get playing with new stuff and going totally over board just to host a static html file for a personal project, with the goal to learn something new. But it's not just personal projects, it's whole companies that adopt this kind of approach, not even thinking 2 years ahead, when the "cool new software" you used is now not only not cool and new anymore, but abandoned and unmaintained. I get that this is just a random "i did a thing" blog post, but this just annoys me :(
- michalwarda 4y agoSorry to annoy you ^^. I'm not a native speaker and I guess it's my wording in the post. What I meant is "setting it up for every new project I would be working on might be cumbersome". Honestly I thought only friends and family would read it and I didn't spend enough time polishing the nuances in the writing. I didn't expect it to blow up so much :D. But going back to the point I fully understand your frustration about the overcomplicated approach. Though for my defense I'm planning on hosting many more apps using this setup. In fact I already am but didn't want to overcomplicate the post. I left it for part 2. Subscribe RSS for followup xD. I feel like a YouTuber after saying that.
- ravagat 4y agoGood stuff man. Very happy to see some folks still experimenting and trying things and then writing about it. Thanks for sharing Michal!
- gokulkrishh09 4y ago[dead]
- deleted 4y ago[deleted]
- andrasbacsai 4y agoThank you, Michal, for mentioning Coolify in your blog post! (Developer of Coolify here )
- aaronyarborough 4y agoAnybody else noticed that the link for "Cloudflare Workers" goes to netlify.com?
- wink 4y ago> a perfect PageSpeed score 100 / 100 Just used 10mins of my lunch break to go from 9x to 100 myself. Thanks for the reminder ;)
- mmcnl 4y agoI also selfhost a lot. For me it's mainly a hobby. I have a fiber connection and an old laptop that now functions as a Ubuntu server. Laptops are nice because it means it can easily endure brief power outages. I run everything in Docker images with a single docker-compose.yml. For 99% of the folks more than sufficient and way less complex than Kubernetes. I use Caddy as a reverse proxy. Configuration is dead simple and it has auto SSL certificate renewal. Certificates are just there, you don't even need to think about it. I run it together with Authelia so that I can shield web services behind a 2FA SSO login portal. Now I can securely access my personal web services without the need for VPN. Some things I selfhost: Nextcloud, Adguard, Gitea, Drone (local CI/CD runner, love it), VPN, Samba server, Jellyfin, a few websites, etc.
- rolenthedeep 4y agoI have an older house and cold cellars are common here. It's a room outside of the foundation in the basement and the roof is the floor of my porch. It was originally intended to keep preserved food cold passively. So I threw a 32 core xeon server in there. It's isolated enough that the fan noise doesn't carry, and nothing I can do will make the core temps go over 28C. Free cooling during the summer, and in the winter, waste heat from the server helps keep the cold from leeching into the rest of the basement. It's really a beautiful solution. The server itself runs proxmox, and I've got four or five services exposed to the internet behind an nginx proxy. Most of the time I don't ever have to touch it. The -only- thing I don't host at home is my email server. Mostly because it's very old and I don't want to upset it, but also email behind a residential IP can be painful. Everything I host is just for my personal use, and it's been a pretty worthwhile experience. It doesn't take too much of my time, I get to learn new skills, and at the end of it, I get a service I was going to use anyway, but I have absolute certainty that my data is under my control and no one else need be involved. It's nice. I still need to figure out long term backups, but for now I periodically dump to an external drive and store it in a fireproof safe in the same room. That's as secure as I can get in this environment and I think it's good enough.
- blacklight 4y agoI've been self-hosting since 2003 - starting with a repurposed Pentium 1 sitting under my bed, with Slackware still installed through tons of floppy disks. And by this day I host ~30 services. My two cents: - Mileage may vary. I see plenty of people self-hosting their SearX(NG), Miniflux, Wallabag, Grafana, PiHole instance on a RPi at home. And that works perfectly fine: those services are relatively lightweight, they don't take more than a few tens of MBs of RAM, installing them is usually as easy as a docker pull, and they aren't too bandwidth-hungry for a decent home connection. Jellyfin? Sure, but streaming high resolution content may warm up the RPi quite a bit. NextCloud? Hmm, it starts to be a bit borderline for a RPi at home - especially if you don't add some decent fast external disks. Matrix? Hmm, that starts to be a heavy beast - and if you decide to federate your server it may eat a lot of bandwidth and disk space. Mastodon, or anything involving federation on scale? Unless you're ready to add a few GB of storage every couple of weeks and can receive and content very fast, it may be a problem (and it also takes 1.5 GB of RAM to run a small instance of my server). Keycloak, ElasticSearch, Kafka or any fat beast running on a fat JVM? At least 1 GB of RAM goes to run each of these beasts. Bitwarden? The latest versions will freeze everything unless MSSQL can allocate at least 2 GB of RAM at startup. So do you want to run your personal website or a few small services on your RPi at home? You can probably do it. But self-hosting other popular services will require you either more CPU power (and, in most of the cases, still an x86 architecture), more memory, more/faster disks, more bandwidth, or all of them. - I've reached a balance where I run my small services (SearXNG, Miniflux, Wallabag, PiHole, Gitea, Grafana etc.) on a RPi. The medium ones (Jellyfin, NextCloud, Matrix, Keycloak etc.) on a Celeron mini-PC with SSD disk and ~10 TB of storage attached. Those that take >1.5 GB of RAM (like Bitwarden and Mastodon), or need to be accessible even if my house goes on fire (like Bitwarden itself, the main node of my VPN and the git server with all of my synchronized configurations), or eat up more bandwidth than my house could handle (like Jitsi), are running on a couple of Linode servers outside of my network. And, as the traffic for some of those services starts to increase, I'm even considering using Cloudflare. - I agree with what other people mentioned in this topic: you don't need Kubernetes for everything. Sometimes Docker/Podman containers managed by systemd services are more than enough. I personally like to run Arch whenever I can - there's an AUR package literally for everything, and a wiki page for nearly everything. Then you don't need to waste extra disk space to host a lot of Docker images. All the configuration files are stored on an external git server connected over VPN. So bootstaping a system or moving/copying services is usually as simple as running a git clone and running a couple of Ansible playbooks to automate the deployment. Sure, Kubernetes can help, but it's just one among the possible tools that you have in your box.
- rldjbpin 4y ago100% agree that people should consider self-hosting. just be mindful of for what purposes. let me elaborate: if all you want is a simple static blog, i find little to no reason behind going beyond github pages. for self-hosting some cloud services, go for self-hosting BUT don't expose it to the internet willy-nilly. rather use tailscale or something and access it behind a vpn. if you really want to offer a public utility to others by running it in your household, it is often not worth the tradeoffs with making it secure enough.
- SergeAx 4y ago> I’ve bought a domain (grifel.app) on Google Domains. I use it because they have all of the extensions like app and dev, don’t do much marketing BS They will also flush everything connected to your Google account down the drain the moment their AI decides you violated some of their terms of service. With no possibilty to restore or recover.