/pubgate

Lightweight ActivityPub federator

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

python_version

Asyncronous Lightweight ActivityPub API / CMS

Based on little-boxes. Implements both the client-to-server(C2S) API and the federated server-to-server(S2S) API.

  • S2S compatible with Mastodon, Pixelfed, Pleroma and microblog.pub

Can do create / delete / un-/follow users / share / like / undo

The idea is to develop PubGate as CMS, which could be used same as WordPress - easy install on cheap hosting with customization by installing plugins and choosing themes. As far as it based on asynchronous python framework, which provides non-blocking delivery of AP objects to other instances, it supposed to be light and fast.

Support extensions (collects blueprints and tasks):

API documentation

Overview swagger docs example

More details at Postman documenter or download latest Postman collection

Deploy

Install Docker + Docker Compose

Shell

git clone https://github.com/autogestion/pubgate.git
cp -r config/extensions_sample_conf.cfg config/conf.cfg
Check/Edit config/conf.cfg to change setup of your instance

(registration status, title and description for UI App)

Then, instance could be started

domain=put-your-domain-here.com docker-compose up -d

This will install PubGate with extensions (marked * in list ). For custom configuration edit requirements/extensions.txt and config/conf.cfg . To install federator without extensions, empty requirements/extensions.txt and use config/base_sample_conf.cfg

Tests

python -m pytest tests/