Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sorry, I wasn't precise: it's two databases (Postgres, Redis), an HTTP frontend (nginx) and specific versions of two interpreted language runtimes (Ruby, Node). The point stands.



While Mastodon can be used for small server purposes (e.g. server-of-one) it is really geared towards professional use - providing a service to thousands of users and scaling up horizontally. Looking beyond technical requirements, so many of Mastodon's features echo this -- account management, reporting, moderation. In that context, I really do not think that "uses a reverse proxy in the front" and "has a database and a cache store" is a factor.


> While Mastodon can be used for small server purposes (e.g. server-of-one) it is really geared towards professional use - providing a service to thousands of users and scaling up horizontally.

Mastodon advertises itself as being a self-hosted project.

> Your *self-hosted*, globally interconnected microblogging community

https://github.com/mastodon/mastodon

--

> I really do not think that "uses a reverse proxy in the front" and "has a database and a cache store" is a factor.

These things matter at scale, but the typical Mastodon instance comes nowhere near that scale.

A reverse proxy is relevant beyond O(10k) RPS; less than that, and a single process directly serving requests is more suitable. A separate database is relevant beyond O(10M) records; less than that, and any embedded DB, or, frankly, direct filesystem access with any encoding format, is more suitable. A caching layer is relevant at the next order of magnitude for both of those dimensions; less than that, and there's no need.

Mastodon should, by default, ship as a single binary, statically compiled, with no runtime language requirements, and should manage its data storage requirements directly to disk.


It is self-hosted because you can host it yourself.


Well, all software on GitHub, more or less, satisfies this definition, so I don't think it's what was meant.


Not "all software on GitHub" because most of that is proprietary. To run it yourself it generally needs to be [free software](https://fsfe.org/freesoftware/).


What on earth? This is absolutely false.

The dominant licenses on GitHub are Apache and MIT. Neither of those licenses designate proprietary software. Both allow me (as an individual) to run software myself.

In fact, the licenses which satisfy "free software" criteria -- GPL etc. -- are more or less impossible to use in any context where legal jurisprudence would apply. That means any context where a lawyer could possibly get involved.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: