3 ms·
Application-wise this looks awesome. I would love to see way more people using something like this. The problem is self-hosting is too difficult for the averag
by anderspitman 4y ago
Application-wise this looks awesome. I would love to see way more people using something like this.
The problem is self-hosting is too difficult for the average person. But that doesn't have to be the case. Self-hosting shouldn't be any more complicated or less secure than installing an app on your phone. You shouldn't need to understand DNS, TLS, NAT, HTTP, TCP, UDP, etc, etc. Domain names shouldn't be any more difficult to buy or use than phone numbers. Apps should be sandboxed in KVM/WHPX/HVP-accelerated virtual machines that run on Windows, Mac, and Linux and are secure-by-default. Tunneling out to the public internet should be a quick OAuth flow that lets you connect a given app to a specific subdomain, with TLS certs automatically obtained from Let's Encrypt and stored locally for end-to-end encryption.
- kitd 4y agoAll of which is why SaaS is a thing, no?
- kthejoker2 4y agoSaaS and self-hosting seem mutually exclusive, no? At least as envisioned in these requirements.
- noirscape 4y agoIn theory this is already the case; Self-hosting only really requires understanding DNS and the basics of running a Unix system if you just rent a VPS at say, Hetzner. Similarly, buying domain names is as easy as buying a phone number, probably even easier since ID legislation surrounding phone numbers is much stricter. NAT, TCP and UDP don't come into play unless you also plan on self-hosting your IP assignments or need to configure the firewall, which most people don't need to do (firewalls for webservers are usually already set up by the distro from my experience.) The problem is that the rest of the process is poorly documented (really... anything surrounding HTTPS; webservers require setting arcane config flags that all make sense once explained but why aren't distros just shipping sane SSL snippets that aim to get a good SSLLabs score/maintain older browser compat as needed, pretty much all these configs are shared across systems, certbot is cool but good luck parsing the documentation and woe be onto you if you do DNS-level verification with an unofficial plugin, the docs are all over the place) which creates this faux idea that you need to be a massive tech nerd to even begin self-hosting. The closest thing most people can follow is setting up shop at a shared hosting provider with a one-click WordPress installation (or other apps fitting in an AMP stack). That has been automated to the point where the enduser can reliably do it, but that pushes the limit of what you can really consider self-hosting.
- deleted 4y ago[deleted]
- WorldMaker 4y agoI remember a brief period in the early heyday of the LAMP stack where the A meant "Apache" and nothing else it felt like "Just Install Apache" was all you needed to self-host random PHP applications you would find. It feels like we have all the raw technologies to make it easier than ever, it's just all the "glue" that sucks (or doesn't exist). - Home IPv6 is so much easier to work with than workarounds I recall doing with IPv4 as a kid. Static IPv6 is actually achievable and AAAA only DNS works in more places than not today. - Let's Encrypt does make the TLS dance much simpler. - Docker containers do give you cross-platform sort-of sandboxed virtual environments that can run just about any app you like in any programming language. No more L or P dependencies in the modern LAMP stack equivalent with tools like Docker around. - SQLite has shifted into being a game changer in database serving. In the old classic LAMP stack installing and maintaining MySQL was three fourths of the "fun" (and just about 90% of the pain) and there's no great way to sandbox a MySQL server other than to spin up multiple servers (which is a bit much for a modest self-hoster), but every application could use its own SQLite DBs easy enough, the SQLite DBs can be embedded in and don't have to leave app containers, and that should scale "good enough" for self-hosters. (SQLite is also the choice of the linked application here.) In terms of glue, I feel like there's a meta-narrative to explore of "single docker container apps designed to be self-hosted" and maybe a meta-"app server" with an easy to use interface to control them. I don't know what you'd call that pattern or how much interest there would be in this SaaS-heavy world. Some other half-baked thoughts: - fly.io's business model is SaaS for obvious reasons, but their tools look "close" to the above desirable "glue", minus the parts that are SaaS for business reasons. Vercel is a similar example of an off-the-shelf tool that might be handy for self-hosting if it wasn't so focused on supporting SaaS business models. - The last time I did any serious self-hosting on a VPS I really liked Cherokee's [1] configuration approach: it makes sense for a web server to itself be configurable as a web app. Similar to how cPanel got so popular in early LAMP stack SaaS days (is it still popular?) simply because it offered an easy web app UI to manage an application stack. (Looks like Cherokee's documentation hasn't been updated in a few years, and at least from the documentation still doesn't even have Let's Encrypt (ACME) support out of the box, which seems a shame.) [1] https://cherokee-project.com/ https://cherokee-project.com/