Hacker News new | ask | show | jobs
by dist-epoch 325 days ago
So far nobody explained one simple use case - self-hosted Instagram.

How does that work? I want to see the pictures of my friends, and they want to see mine. And I also want to see the pictures of some influencers.

What's the self-hosted Instagram setup that makes this work, while all the involved parties are self-hosted?

4 comments

Federated social media through a common protocol.
For example: https://pixelfed.org/ Which is literally the fediverse alternative to instagram.
If I choose a "community server", how does that differ from just using the Instagram "server" by using Instagram itself? Can't the community server ban me, or delete some of my data they don't like, for example? Or even sell my data?
> how does that differ from just using the Instagram "server"

1. You can move to another server if you don't like their rules, or to your own server. There is a competition between servers (and self-hosting!) making the network better for everyone.

2. There is no single point of failure for the whole network. Hackers and governments love single points of failure.

3. There's nobody who would forbid alternative clients or web access forcing you into a shitty app. There's no single entity owning everything and trying to extract as much money as possible from you. On Instagram, you're in a walled garden.

> There is a competition between servers

Why? What do they gain by hosting our accounts?

Why do they exist in the first place? Some of them can and do take money for the service. Some are volunteers who want to help users and support federation. Some are run by non-profits or companies as self-promotion.
In retrospect, community servers/instances were a mistake. You need your own domain.
You might enjoy having a look at how atproto (which powers Bluesky) solves this: https://atproto.com/articles/atproto-for-distsys-engineers

TLDR: Self-hosting is the source of truth for data; apps aggregate over it.

hmm, another UI that connectly directly to S3???
when you follow somebody, you put their public url in a list, then when you open the app it requests the photos from everybody on the list?

I see no reason why everybody could not run a web server on their phone.

So if I follow 1000 people,

I make 1000 requests every time I open the app or refresh my feed?

Also not everyone can be on a stable connection with a public IP address with good upload speeds 7/24. In the ideal world: sure. In the real world: impossible (at least for any foreseeable near future).

This has all been solved with ActivityPub or AT Protocol. It's push-based not pull and yes there are still servers. Either you pay for your own server or you mooch on a community server.
Oh, missed that. Then it makes sense, thank you.
Perhaps it could make each request as you scroll? You don't need to see 1000 photos all at once. And if your friend has sketchy internet, perhaps it can push to you when they have a good connection.

It's not perfect, but if we want self hosted, we have to start somewhere and start working out the problems.

That would require javascript, and the set of people interested in self-hosting and the set of people willing to touch javascript with asbestos gloves and a ten foot pole do not intersect.