Remix.run Logo
singpolyma3 5 days ago

It's interesting to me that recently people have started equating self hosting with having a physical server in your house.

Beyond that, the "how do I talk to other people if it's on my server" thing is generally solvable. Give them an account on your server. Don't want to need to make an account on every friend's server? That's why we have SSO technologies. I don't think. Self hosting and community collaboration need to be incompatible.

drew_lytle 5 days ago | parent | next [-]

> Self hosting and community collaboration need to be incompatible.

Totally agree, but there's a lot more nuance here. Giving each friend an account on my server would require it be exposed to the public internet which is difficult to manage securely. And SSO doesn't really make this very convenient because that means everyone would have to sign in and sync to everyone's servers which is a lot of work for the user. It's a UX problem.

The solution as I see it here is services that can interoperate and sync files across hosts. So, my friend's Alice and Bob can both have their photos synced to a separate server and can choose which photos to share to my server. Separate but connected.

Thanks for reading and for your comment!

ndriscoll 4 days ago | parent [-]

Right, the services should allow federation, but that doesn't mean you need to federate with the entire world. You and your friend should be able to just click "invite" in your "My Home" app to get a link to text to each other like `myhome://invite?domain=<random>.services.frienddomain.com` (or a QR code flow). Under that TLD you have well-known subdomains and TXT records for e.g. wireguard config, oauth server location, etc. When you open the link in your "My Home" app, it adds the wireguard peer and starts trying to perform oauth client autoregistration and federate any services you run. When your friend clicks your link, it'll set up the other half of those connections. Once you've both clicked, things start talking to each other. This all stays invisible to the normal Internet for anyone that doesn't know the root domain to search for records under.

This could all run on one of those $130 N150 minipcs that uses like 8W and could run 24/7. It's a lot of integration work, but there's no reason why it couldn't be a fairly off-the-shelf product.

You could also explore other service discovery patterns since buying a domain name is a pain. Like have the URL provide the initial wireguard config (including outside IP) and DNS search domain, and then the servers on each end can query (private) DNS on the other end via the tunnel for services.

drew_lytle 4 days ago | parent [-]

Sounds complicated, but cool! Thanks for your comment!

torium 5 days ago | parent | prev [-]

> It's interesting to me that recently people have started equating self hosting with having a physical server in your house.

LOL right. I bought an ereader that works for me instead of working for Amazon. No need to run a server.

drew_lytle 4 days ago | parent [-]

Currently working on jailbreaking my Kindle – thanks for your comment!