sorry this ended up so long…
Thanks for the followup. Here are the things from your emails and posts that most resonated with me:
-
Weird profile pages. I think this is an excellent way to get people started with self hosting
-
Rauthy. This is an excellent looking project that I hadn’t heard of. Seems likely I could have used it instead of writing obligator.
-
Network of shared purpose. Loved this. This problem is getting worse. rauthy is a great example. If we had some sort of a search engine for what people are working on we could avoid a lot of duplicate effort and maximize our effectiveness in open source.
-
FedCM. This is interesting. I hadn’t heard of it. I’m a bit concerned that they don’t spend more time comparing to Mozilla Persona. They really only mention it in passing. But it does seem to have some potential.
Let me tell you a bit about my current vision.
I’m primarily interested in human-scale software. Software that people run for them, their family, and friends. For example: media servers (Jellyfin/Plex), chat/forums, file storage, calendars, etc, and a million things that haven’t been invented yet.
I think it’s best for this sort of software to be run on your own hardware, with e2ee. An old laptop or phone would be ideal. The problem is that self hosting is way too difficult for the following reasons:
-
Domain names are too hard to register and manage.
-
Networking due to NAT and firewalls. IPv6 isn’t going to save us because you still don’t have a reliable protocol for opening a port.
-
Software is too hard to run. Docker has improved things but you can’t expect the average person to learn docker. Even if you could, automated backups and updates are still unsolved.
Here’s the solutions I see:
-
I’ve taken my first crack at solving domains with TakingNames.io. I’ve learned a lot since launching it and I think it’s going to get rolled into 2 in the future.
-
I believe tunneling is the solution. This is my current side project focus. I’m working on a service similar to ngrok/Cloudflare Tunnel, but designed for self-hosting. Main difference is it will be built on a simple, open protocol, be very simple to use (Windows GUI app), offer e2ee, and provide high speeds and data caps intended for streaming video. I have extensive experience with this sort of software, having long maintained this list (GitHub - anderspitman/awesome-tunneling: List of ngrok/Cloudflare Tunnel alternatives and other tunneling software and services. Focus on self-hosting.) and written several of my own tunneling implementations. Note that Tailscale could also be a compelling solution to this, but I think requiring all users to install a VPN app to access any services is a significant downside.
-
I believe a Windows GUI app can be made that would let you install a large catalog of web services, quickly expose them over the internet using the tunneling solution in 2, protecting them with something like obligator/rauthy for SSO. This app would manage backups and updates for the user. I have a decent prototype working using WLS2 and docker, but there’s a lot of work left to get it reliable and seamless. I decided to focus on launching 2 first to hopefully get some awareness and money flowing.
Ok, so here’s where I see our work intersecting:
Given that 2 is my main focus right now, here’s what I’m currently doing. There’s a bit of a chicken/egg problem with my vision. Trying to build both the self hosting app and the tunneling service is too much to bite off. It makes more sense to start with the tunneling service. Especially since that’s a fairly obvious source of revenue. The problem is that an extra simple tunneling service isn’t much better than all the other tunneling services because the apps themselves are still too hard to run.
I needed to build something that was useful on its own. So I decided to build an app that provides tunneling + file storage (using my GemDrive project (https://gemdrive.io/)) + obligator.
So the idea is you run this app, go through a quick OAuth2 flow to tunnel a domain to your local app, and you now have your own web drive on your own domain that you can use for sharing files, hosting websites, etc.
I hope this will be compelling enough to get some traction, but there’s a good chance it won’t be and I’ll have to go back to implementing 3 in it’s entirety, or at least integrate with a few other apps such as Jellyfin, which is actually quite easy to run on Windows.
However, I think your Weird/linktree concept might provide an alternative compelling use case. Allowing people to host their own simple profile page may grant a sense of ownership that helps get them started hosting more services.
I realize you’re more focused on a hosted offering currently, but I think we should keep talking. I’d love to hear your thoughts on my ideas.