Hacker News new | past | comments | ask | show | jobs | submit login
Togethr: Own Mastodon-compatible decentralized social network instance (togethr.party)
112 points by MattJ100 on May 5, 2022 | hide | past | favorite | 64 comments



Cool but I'd much rather see someone sell a little server box where all I would need to do is plug it into my router and open up a port.

IE: If we are going to decentralize with Mastodon-style software lets actually decentralize the hardware used to host the system.


Curious: sell at what price.

This is something I have thought about for many years. If we have small form factor computers that sell for, say, $5-$25 why not distribute pre-configured, free, open source servers on well-understood hardware^1 instead of having to test on various different hardware possibilities, not all of them well-understood, or making assumptions about what hardware people should have available. IMO, there is value in server configuration. A purchaser could choose to compile and install the software herself but having an example of a working configuration can be invaluable. For me, good examples are usually worth more than countless pages of verbose documentation. The question I have is the dollar amount of that value.

The example I have thought about in the past, rightly or wrongly, is the WRT54G and what became OpenWRT. To me, focusing on one item of hardware initially has advantages. That is generally what vendors of off-the-shelf products do. Yet with open source software, there is usually an expectation that it must work on a variety of hardware, which is likely to make things more complicated.

1. I am not implying this has never been done or that it isn't still happening.


If I sell you a computer for $5 and you email me questions about how to configure DNS, what kind of reply are you expecting?


Having a working DNS cofiguation is generally a prerequisite to sending email.

There is of course email smtpd software that allows receiving email using only IP addresses. Email predates DNS. Two people running their own smptd's could exchange email directly using only IP addresses, without the need for DNS. But the way most people use email today, delegating total control over it to third parties, email is highly dependent on DNS.


"You can buy a support plan for $100/month. Renewal not automatic, only if you opt it"


Another example that comes to mind: There are routers that come with Wireguard pre-installed. No technical support just online instructions, forum and a custom GUI.


You're not wrong. But, i feel that this type of (paid) offering is the next best thing. What we need is many, many more paid providers, which helps decentralize things a little at least (and of course helps those less techie than some)...until your proposed solution is more easily implementable by a greater swath of the interested population.


I believe it will come with time, we already have IPv6 and microservers like Pi, but then users have to secure, update,backup, monitor and upgrade the software and hardware regularly ... There is no solution yet for that.

So it's definitely an easier solution to use a managed service. BTW here is another Mastodon provider: https://elest.io/open-source/mastodon

Disclaimer: I work there


Exactly. The key is that it's a paid service. And it looks to be based on Pleroma and they will export data and transfer domains upon request. As long as it stays like that and that's the bar across providers everyone wins.


Looks like the Freedombox.org folks are shipping that now, for €70:

https://freedombox.org/buy/


I have Mastodon, mail, XMPP, Coturn, and Nextcloud instances all running on a single Raspberry PI setup quite easily thanks to yunohost.org. They have ISO's for just about any hardware or a VPS.

Hostman and Mastohost are among the other managed hosters of fediverse instances.


Helm looks pretty cool although it's expensive and they only have two apps (email and OwnCloud): https://thehelm.com/products/helm-personal-server-v2


> all I would need to do is plug it into my router and open up a port.

I like this vision of how things should work, but finding an ISP that _doesn't_ put a firewall for incoming connections nor use an ISP-grade NAT is challenging.

In my [limited] experience, neither tech support nor sales have any idea what any of these terms mean, so they can't advise at all.


What are the odds the router itself can act as a Mastodon server with some external storage? I'm not sure how resource intensive Mastodon is in practice.


I don't think the average router would be able to run much of anything, not to mention how insecure the average router is since people don't update them.

Mastodon is very resource heavy, I couldn't get it to run on a raspberry pi 3b. Pleroma is an alternative to mastodon that is very light on resources, I'd recommend that personally.


I don't know that I'd call Pleroma "very light", but it's very light compared to Mastodon for sure.


I can easily run Pleroma on 1G VPS and Pi3s; the heaviest part is the Postgres server, which can itself be tuned to be pretty light. It relies on PG's native JSON data type which is cool. I run a couple instances and poked around with it for a few hours. I'd love to see SQLite support in Pleroma given that it allegedly has JSON now; there is a 2 year old ticket on their GitLab [1] mentioning it tho I've not spiked in to see if it's 100% plausible to port. Pleroma is written with Elixir that has a DB abstraction library that supports SQLite, I was just looking into it this week.

Even if SQLite JSON isn't sufficient it could be realized with string columns for now, and indeed SQLite is recommended by Library of Congress for archival storage and used by iPhone so I think it's a solid way to expand Pleroma even if native JSON is not sufficient.

If anyone wants to pay me to do this as open source I'd jump, contact in bio. I don't know Elixir yet but am motivated and have 15+ years of dev experience in all kinds of systems, and experience in the adjacent parts.

1. https://git.pleroma.social/pleroma/pleroma/-/issues/1333


You can run Pleroma (with its database) on a raspberry pi with 1GB RAM. A single-user instance of Mastodon will require 8GB to run comfortably.

I think the main issue of Mastodon is that its search completely reliant on elasticsearch, while Pleroma tries to go by only with PostgreSQL FTS?


What could possibly take up 8 GB? It’s just some text display.


It's a ruby application. Take all the background processes to build timelines, trending hashtags, etc and it adds up. Perhaps a single-user instance might do with less, but still...


Mastodon is very RAM hungry. Not going to run on most routers.


It probably depends on the load? It's a Rails app AFAIK so if the load is low (which is likely for a family or group of friends) it should be able to run anywhere.


If you don't federate (and so only receive toots from accounts you've explicitly followed, or who mention you or their shares/boosts) and you don't follow a huge number of highly active accounts, then maybe.


Getting toots or mentions from accounts not on your server is exactly what federation is for, so not sure what you mean here...


Mastodon has two separate federation mechanisms:

1. For anything where you are mentioned specifically, or where you're a follower, the toots gets distributed automatically.

2. For anything where the toot is marked public but you are not a follower or mentioned, your instance will only receive a toot if you've explicitly configured federation of the public feed with one or more instances that is reasonably well connected.

The former is "cheap" unless you follow lots of people. The latter is like sucking on a firehose, because you get pretty much everything. If you do, it matter relatively little how large your userbase is, because you're still processing nearly every public toot.


I would love to do this, but it's a lot more work to maintain that kind of thing for most users. At least with Togethr we let you choose from many different data centres so the instances won't all be in the same place.


You know what? Check out pleromapi, it does what it says.

A raspberry pi image that auto installs pleroma and you are greeted with an image within the first boot. No configs other than ___domain and passwords.

Try it out.


You would still need the ___domain setup, etc… or would you be happy to use your hardware and some free subdomain from elsewhere ?


I think it's something that a vanity subdomain would be fine for the base case, with an optional upsell for a custom ___domain. The self-hosted box would need to have some way to dynamically update DNS, as the average consumer doesn't have a static IP.


What you want is achievable with https://dappnode.io


Not really sure what they're selling besides an Intel NUC with a large SSD at a ridiculous markup?

Where is it supposed to go anyway? Next to your router or into a data center?


They are selling the overpriced hardware as a way to support the development of the OS, which can be summed up as:

- docker-based app store

- IPFS-based image registry

- some utilities to set up your own VPN

- a "portal" system for those applications you want to open to the public web

- webUI to manage all that.

And yes, it is meant for you to run at your home.


An app for the Synology drives would help.


Why would I want this over something like mastodon.social or SDF's Mastodon? $7/month seems very steep for what amounts to the ability to have a custom ___domain and admin responsibility.


This appears to be a managed hosting provider offering access to a pleroma instance underneath, not a software package.


That's sort of my point. Managed hosting is exactly what I get for free from SDF (or mastodon.social), so what's the benefit?


_you_ don't get managed hosting from mastodon.social the site owner does (if they used a service like this). You just get an account that someone else manages the infrastructure beneath.

This gives you your own instance, which in addition to using your own ___domain, means you can can set the rules of the server (what kind of speech is and isn't allowed), you can boot people you don't want. You can control who gets in. you can control what other servers are blocked (i assume that is an option in pleroma too).


Do you really get to set all the rules? This lists no terms of service at this point, but is there any reason to assume that the rules will be significantly more lax than e.g. twitter.com?

As a person who've had their VPS disconnected by OVH over a malicious link posted by a third-party on my service, I am very skeptical.

Additionally other instances could very well block all Togethr instances if they see abuse from customers, the same way they can block an instance if they see abuse from their members.


Every Togethr instrnce has a separate ___domain name and IP address, so blocking them all for no reason isn't really possible.

Blocking any given one is of course.


By "not possible" you mean that it's not a feature that exists in Mastodon today. In that sense you are right.


I mean there is no way to tell if an instance is hosted by Togethr or not.


It's running a custom version of Pleroma and is therefore very identifiable.


A clear business model and alignment of interests, as a customer. Also no lock in since the customer owns their ___domain.

How is SDF funded? How can anyone be certain it will continue to be funded, if it offers a service gratis that costs the provider money to operate? Is that funding source aligned with my beliefs and interests? These are questions you don't have when you just pay for things.

Another example: I use FastMail with a custom ___domain. Yes, I could just use Gmail, but I don't, for the reasons listed above.


SDF has been a self-sustaining non-profit since the 80's. I'm much more skeptical of a newcomer than of them, personally


But you can't use Gmail with a custom ___domain for free. I bet that's a decision point


You can't use Fastmail for free at all, custom ___domain or no.


Yes. But what I am saying is since gmail becomes paid for custom domains, you _then_ decide, you might as well pay someone else.


In one of the former fediverse hype cycles (either 2020 or 2018...) I made an account on an instance that was not one of the main 5 ones and followed a bunch of people. Some weeks ago I looked at that account and literally 90% of the accounts I had followed had vanished because the instances _they_ were on went offline in the meantime. Honestly a little surprised the one I chose was still offline, as it's also just a random small one.

Yes, this is probably not so likely for mastodon.social or SDF, but still. It's just like getting a free email account at some random place, it could be gone every day.


I agree, but I was concerned if mastodon.social was sufficiently funded so I started giving them a tiny amount of money every month.

I suppose it would be good to have Mastodon on my own ___domain, but I really don't care that much (I have had my website on my own ___domain for 30+ years).


Your own ___domain?


you get to set your own federation rules, and perform your own moderation.


And switch to self-hosting or another hosting company whenever you want, never need to change your address because you own the ___domain. Control and freedom.

Also support from humans who are paid to support you.


obviously it't not for you.

perhaps there is another end user in mind (like groups/organizations)


Wouldn't it be feasible to replace this "get your own ___domain" part just by letting tor doing the lookup for some introduced .onion site. My reasoning is, that this could get much faster adoption rates and/but is also self hosted on a single client device.


The benefit of giving people free domains is they work already with the fediverse we have and make more sense to regular folk than onion names.


Is it possible to host ActivityPub protocol on a static site? I searched some comments saying one-direction publishing is possible, but federation with comments is surely impossible.


Short answer: no.

Longer answer: you need a server application of some sort in order to process the activities you receive in the inbox and send your activities out to your followers, and a database of some sort to store the follow relationships. One-direction federation is also not very feasible with static files because the follow flow involves sending activities in both directions. You receive a Follow activity in your inbox, which you must wrap into an Accept activity and send that back to the inbox of that follower as an acknowledgement.


Fully static no, though with a receiver somewhere that you inline the comments using JavaScript or something I guess you could.

You may want to check out epicyon or honk.


I would rather run a Bookwyrm [0] instance.

[0]: https://github.com/mouse-reeve/bookwyrm


If there is interest in other formats and people are willing to pay on our model for them we can likely add instance types for things like this.


looks cool, but that's a totally different sort of user experience that happens to use the same ActivityPub layer, no?


Cool, I like seeing more commercial vendors supporting Mastodon. I support mastodon.social and use them [1].

I support Elon Musk buying Twitter and charging $2/month for a verified account, etc., but I also love seeing a major uptake on Mastodon-based decentralized services.

[1] https://mastodon.social/@mark_watson


Off topic, but the whole "let's just remove the 'e' from a word that ends in 'er'" naming trend needs to die.


It does look pretty lame, but at least it is web-searchable. Using an actual common English name unmodified is worse in that regard.




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

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

Search: