Introducing... SSB Mirrors!
Simply put, it's a pub that replicates just you
Example: http://ssb.staltz.com a.k.a. @mirror_andrestaltz
Keep this only on SSB before we announce it ready to the world, next week
Read the readme here: https://github.com/staltz/ssb-mirror/tree/readme and try setting up your own.
I've been working on this the past 4 days, and now it's finally ready. Mirrors are alternatives to Pubs, where the sbot will replicate only one SSB account. It's a simply idea, but it has some interesting benefits:
- Quicker sync if people are interested in getting only your data
- It took about 4min for an empty Manyverse app to sync with all of @QlCTpvY..., and that's an old and heavy feed
- If you mostly want to broadcast content to the world, RSS style
- Quick initial sync is very important for onboarding, people can experiment with SSB much more easily like this
- Open invites makes it easy to onboard people onto SSB
- Also important for newcomers who want to casually try out SSB
- No concerns about hosting other people's data
- Removes the legal concern, and the randos lurking in pubs
- Lightweight server to run and maintain, because it holds only your data
- I think the storage will be probably at most 5 MB (log) + blobs (I don't know how much blobs would require, depends on the feed)
- These are light requirements also on bandwidth
The downsides are:
- It is unidirectional (people get your data but you won't get theirs, unless you follow their mirror or have a pub in common)
- Holes: New users onboarding SSB with just your data will still have to reach out for more data from other community members, to have a meaningful interaction
The other big innovation here is that setting up such server can be done with zero DevOps skills, you just need to know how to click on websites. The trick is that the first user who accesses the website gets to command the server to replicate them. This first user is 99% likely to be the person who just set it up. And in case it's not, you can always just create a new one from scratch.
I tried to use Heroku's Installer Button, but Heroku turned out to be the wrong platform for this. I ended up copying @mikey's ssb-pub set up on DigitalOcean for this. Thank you a lot @mikey for your Docker kung fu. I also suppose it's fine that the one button installer is re-used from butt.nz?
This is an experiment, so please don't yet talk about this openly on other platforms. Let's see if it actually works well first. I'm particularly curious what this means for git-ssb. You could have an SSB feed just for a git project, and that feed has a public mirror. You can still do pull-requests with the community, but people publicly interested in that repo wouldn't have to necessarily get data from the surrounding social graph.
Let me know what you think!