-
Notifications
You must be signed in to change notification settings - Fork 0
Philosophy
The Fediverse can be a big place and there's always room for different implementations -- Mastodon, Pleroma, and gotosocial being three examples.
Why pick Sparq? I have a strong philosophy for Sparq:
Sparq is designed to run on one machine only and we do not provide any tooling for scaling beyond a single machine. Sparq will scale to use all cores on one machine; modern machines can have hundreds of cores. This limitation means that any one instance cannot capture a significant portion of the Fediverse and ensures a broad community of servers without consolidation into a few mega-instances. Fundamentally we use the Fediverse to avoid centralized social media.
Sparq embeds almost everything within its own binary and does not require the user to manage any external resources.
- The database is sqlite and appears as a single file on the filesystem.
- Background tasks are handled by embedding Faktory.
- Redis is used by Faktory and started as a child process. It needs no management beyond ensuring sufficient RAM.
- Image/video operations are provided by the ImageMagick suite of command line tools.
- A local filesystem cache stores recent documents and media.
- Optionally, media can be offloaded to an S3-compatible bucket for long-term storage. The cache ensures 90% of the traffic avoids S3 transfer charges.
Redis and ImageMagick must be installed and accessible on the machine. Typically apt install redis-server imagemagick
is all you need to run on Linux.
Sparq does not provide any UI beyond the most minimal necessary to get started. The admin API is standard HTTP/JSON and an admin CLI will be provided to use this API locally and bootstrap the system. Because there are no practical standards for a user-facing API, Sparq will stay compatible with Mastodon's documented API endpoints so users can use any Mastodon client to work with Sparq day-to-day.
I believe constraints are liberating. These constraints are the differentiator for Sparq.
If Sparq is successful, we envision providing commercial extensions for project sustainability. Examples include:
- Desktop or Web UIs for easier administration.
- Tooling for off-machine backups or real-time replication.
- SAML/SSO integration for enterprises.
- Monitoring and metrics UIs