Hacker News new | past | comments | ask | show | jobs | submit login

You know what would be kind of neat? Like, a web site you'd go to called makemeoneofthose.com, and you'd click some buttons, and then sometime later you'd have a hosting setup that you own with some software, web server(s) and database(s) on it, and then you can go hack on it yourself, add some features, whatever. Like they send you some AWS keys and say "It's all yours. Good luck and don't forget to pay your hosting bill."

And now you have a blog, a picture-sharing thingie, a bulletin board, a whatever.

Maybe there could even be a version where you pick a datacenter and somebody racks up a PC for you with the software on it.




We used to host our own software. It was called an application and it ran on your personal computer. We just need that, but running on some appliance instead, like a NAS. Package the service up in something like docker-compose, have a way to sell it, install it, update it and support it. Synology is pretty close with their Docker support, but still pretty far.


The problem is you’re fighting a battle against global economies of scale for what is essentially a hobby or personal project. This is not a winning battle and most companies prefer to outsource the risk to someone else they can point to shareholders and blame.

People get caught up in the technical aspects of developing for cloud but I’d bet those weren’t anywhere near as important as risk outsourcing for the executive. At that point cloud was still new and the thought was we can run our infra if we need to.


Not to advertise, but I'm building exactly that at https://pibox.io - also solving other problems people have identified in this thread like automatic valid certificates, DNS, remote access, etc :)


Wow, love it! I host a matrix server on my current NAS, but I can’t put the database there cus spinning drives are just so slow. I’ve got the DB on a random Mac right now, but this is my new upgrade path.


You also need stuff like networking, TLS/certs, and DNS which aren't easily packaged, at least not in a way that doesn't require you to make sketchy changes on every client device.


> You also need stuff like networking, TLS/certs, and DNS which aren't easily packaged

The only thing that cannot be packaged is changing your home network settings. For this you need to click buttons on your modem/router. Fortunately, many selfhosted programs (eg. prosody for XMPP chat) and distros (eg. yunohost) have check commands or panels to figure out what's not configured well on your network and guide you through the process.

Also worth pointing out, Yunohost distro is also intended to be used over a VPN precisely so you don't have to deal with networking setup. Yunohost was bred in the non-profit ISP scene here in France and so your local ISP will provide you with an "internet cube" (SBC) and a VPN access giving you real public IPv4/IPv6 so that:

- you don't have to configure the network

- you don't have to change DNS settings when you change connection (your server works if you take it with you over 3G/4G/whateverG)

- your ISP doesn't get to filter the network (unless it filters VPN access but that's rather uncommon)

See also https://internetcu.be/


Something like Cloudflare Argo tunneling would work great for this. No certs at all for the user to mess around with, it terminated on the public internet, not in your house.


I guess I’m assuming at least some things are on a private network, in which case things are much more complicated.


No, not at all. You can tunnel traffic from any machine, anywhere to be terminated at a public IP.


I think you're misunderstanding the objective. I don't want most of my services (e.g., personal finance, photos, Plex, etc) to terminate at a public IP, that's the whole point of the private network in the first place. So for those explicitly private services, we now need DNS and TLS and in the latter case ideally something like LetsEncrypt so you don't have to manually rotate your certs (but the normal verification methods don't work because your service isn't accessible to LE in the first place--maybe you can run some bastion/proxy?).


But the hardest part of hosting anything is the maintenance over time.


Yes! This is what experience has taught me too.

We tend to underappreciate the importance of time in everything. A button click can instantiate something powerful (and useful (and easy-to-use...)), but it will degrade over time, and eventually flat-out stop working.

I had a stack that worked just fine for my own needs, but it ran on shudder Python 2.7 -- everyone knows how that worked out (I chose to rebuild my stack on a different platform).


> A button click can instantiate something powerful (and useful (and easy-to-use...)), but it will degrade over time, and eventually flat-out stop working

Software doesn't degrade over time (other than, you know things like cosmic ray bit flips, but in most realistic situations that should be fully mitigatable.)

The needs of the software user (including hardware and software they want the piece of software to interact with) may evolve, but that's different than software degrading over time.

> I had a stack that worked just fine for my own needs, but it ran on shudder Python 2.7 -- everyone knows how that worked out

While there's no further first party support for that version of Python, if it worked properly before, Python 2.7 and the software running on it probably still works properly now.


I would absolutely use "degrade" to describe what happens to public-facing or Internet-connected software over time—eventually you'll have to upgrade it for security reasons, and you'll often find that this is way more involved than just upgrading the server-side package itself, or even its immediate dependencies. The alternative is even more work back-porting security patches. All this is assuming someone's actively working on the software you're self-hosting, at least enough to spot, advertise, and fix vulnerabilities.

Ditto the average Rails/Python/Javascript project, as anyone who's tried to resurrect one that's gone so much as six months without being touched can attest. Which might not matter except that a ton of the software people might actually want to self-host are in one or more of those high-entropy ecosystems. Extraordinary levels of care and organization on the part of the creators and maintainers can mitigate this, but that amount of taste and effort is vanishingly rare.

These are degradation due to a changing environment, sure, but I wouldn't describe it as due to evolution in the needs of the user (presumably "must not have any well-publicized remote vulnerabilities" was a need from the beginning).


This comment was brought to you by someone who never produced/maintained software that had to withstand a 24/7 onslaught of automated exploit kits and port scanners over an extended period of time.


Or written any software other than a one-off script, if I had to guess.


If your software is not publicly accessible, it may be possible for you to continue running on 10+ year old dependencies indefinitely. For anyone else, other than a hobbyist, it is just not practical.

Otherwise, you are going to be influenced by external factors (security vulnerabilities, wanting to use a feature only available on a newer language version or OS, etc.) If you are a business, you'll also run into more practical concerns, like engineers not wanting to work on a mountain of technical debt.


Sure, but my old Google cloud apps on python 2.7 will one day get rug-pulled and forced to upgrade. It can only stay working forever if the platform doesn't change underneath it.


> Sure, but my old Google cloud apps on python 2.7 will one day get rug-pulled and forced to upgrade

“Degradation over time” was being cited as a reason not to self-host. Pointing out that not self-hosting exposes you to risk of others changing the environment so it no longer supports your software is a diametrically-opposed argument.


Oops! I missed that point entirely.


And we can call it cPanel ;)


cPanel isn't "cool" so it doesn't get a lot of credit here, but it is actually an amazing product that solves real problems. It makes running a server -- even hosting email -- almost effortless. Combined with a decent host, you don't need to have much technical knowledge at all. It really does make running your own server accessible to many, many people who would otherwise be unable to do it.


Additionally: Setting up PHP/MySQL applications on these servers tends to be "upload files, load page" level simple, and cPanel hosting is still generally a fraction of the cost of modern "cool" cloud products.

Sure, I have some neat modern things I'd like to do, but I also have a shared hosting that's been doing it's job for pennies since 2011.


The digitalocean marketplace is kind of like this. Also sandstorm.io.


I was so sad when sandstorm kind of fizzled out. I'm still hoping Kenton is on a secret mission to somehow bring it to life within Cloudflare. How cool would that be? One-click installs of docs, email hosting, photo sharing, etc apps from a server app marketplace, onto a cloud server you control. (Insofar as you "control" anything on a cloud host, but I feel like that's pretty far, still.)


It's still slowly but surely chugging along. A small number of people (myself included to a small extent) are working on it. There's even a budget:

https://opencollective.com/sandstormcommunity

We've discussed the one-click install thing at some point (not necessarily with Cloudflare), I imagine that's still of interest. There were some issues with the setup process that would need to be addressed first.

Kenton is in the loop and he still has the keys. But, he's busy with other things so he only does a few occasional but vital things.


> onto a cloud server you control

Or a box in your house, which is where my Sandstorm server lives. :) I think there's a lot of potential for actual self-hosting, though servers like Sandstorm need to have reasonable defaults and make it easy to manage domain setup and backups and security updates, such that one can get a box, plug it in, and reasonably quickly get to "don't need to touch this ever" territory.


I have thoughts but not a lot of time - so forgive the terseness. I love the idea of this, but I'd take it further and even have a category in upwork for getting services spun up and maintained.

But that's really the problem - maintenance. Right? Once something goes wrong _for whatever reason_ the user is then (for the immediate needs) just as stuck as with a cloud provider who disabled their access.

Thankfully there is a better course of action - e.g. find someone to fix it for you. Maybe on upwork as well?

But where are you hosting this? Is it AWS? Did _they_ suspend your account? I guess my point is that unless you host on hardware in your house (or another accessible place) you're at the risk of losing access to your data for any myriad of reasons. And even then, there have been warrants where devices were collected and went into a years-long battle as evidence.


I can’t trust up workers to properly fill out a spreadsheet. I really don’t think I’ll be getting the cream of the crop for sysadmin work.


This, but they also manage all the updates for me too.

Ideally the only difference between self-hosting and relying on a cloud service would be, I own the servers and therefore the maintainer has no legal right to bar my access.


A lot of cloud providers offer this. Cloud ocean for example, you search for the application you're interested in, click lauch and you've got it deployed in a docker container on a remote machine.


I am not related at all, but seems like a good dude:

https://www.molecule.dev/


Interesting landing/marketing page. But once I clicked to test it I ran into these notifications for nearly everything I would have preferred to use:

> We have not yet started working on our XXX implementation, but you can select it and submit to let us know you're interested. Development is prioritized by demand.

Or the "We are currently working on our YYY implementation..."

So nearly nothing I would have wanted to use was available currently.

Looked interesting from the outside. Looked to me as of more time was spent polishing the marketing than the actual offering.


yeah it seemed grandiose, he posted before and got a similar response, too many combinations to manually glue together


>you'd click some buttons, and then sometime later you'd have a hosting setup

Docker-compose comes pretty close to this. I had no idea wtf I was doing when I got started and it resulted in a functional thing surprisingly often

Not quite the SaaS vision you describe, but point is you can stumble into something functional pretty easily these days


Seems like you could do this pretty easily with a Docker image and a config file. Actually, I've done this with AWS (use a pre-existing image to get some open source wiki software up and running, which I then customized)+


But then you have to know how to maintain it all yourself. This is hard. If you already have the knowledge to maintain such a tech stack, that allegedly neat tool would only be marginally useful.


A lot of hosting providers do offer OSS applications which can be installed with one click, like WordPress or Coppermine. The latter is, I quote:

> a multi-purpose fully-featured and integrated web picture gallery script written in PHP using GD or ImageMagick as image library with a MySQL backend.

And SSL certificates are for free and automatically generated.

An example: https://www.netcup.eu/hosting/#webhosting-details

https://www.netcup.eu/hosting/webhosting-application-hosting...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: