A server-side implementation of the ActivityPub social networking protocol.
Special thanks to tedu for the knowledge and inspiration.
- ActivityPub
- JSON-LD
- HTTP Signatures
See .env.example for an example configuration.
- AUTH - Authorization endpoint. GET request will be made to this endpoint to authorize requests, as necessary.
- CLIENT - Requests made without the "application/activity+json" Accept header will be reverse proxied to this URL. Can also provide a directory path here to serve static files.
- RSA_PUBLIC_KEY/RSA_PRIVATE_KEY - Paths to RSA public and private keys, respectively. Used to sign requests for federation.
Currently the application supports only PostgreSQL databases (hoping to add more eventually). Execute the init_db.sql statement to build the required tables.
Container image can be created by running docker build -t cheebz/go-pub .
or docker build -t cheebz/go-pub -f Dockerfile.prod .
Docker-compose files are available that include PostgreSQL and Redis images.
There is a Helm chart in the go-pub-k8s repository.