bovine-herd
bovine_herd contains all the parts to run a full fletched Fediverse server with bovine. The simplest usage would be achieved by
This will be a fully powered Fediverse server without a single user. To add users use bovine_tool or the BovineAdminStore from bovine_store. In order for the event sources to work, you will need to configure bovine_pubsub. For more discussions on deployment see the deployment section.
Configuration
The database to be used can be configured by passing the variable db_url
to BovineHerd
. The application has been tested with sqlite3 and postgres,
where sqlite3 runs into concurrency issues if more than one BovineHerd
process is started.
By passing appropriate arguments to BovineHerd
, one can also configure
it to use AMQP for processing of requests instead of background tasks. This
also enables one to move processing outside of bovine by configuring it
differently. See this tutorial for details.
A block list can be added following this tutorial.
Design
The ActivityPub standard can be split into two parts:
- Introducing Actors as the representation of users in social communication
- Introducing side effects to be performed when sending or receiving an ActivityStreams Activity
One can think of bovine_store
as the first task. bovine_process
as the second. Finally
bovine_herd
’s task would be to tie this together as a neat bundle that can deployed
in the Fediverse.