ActivityPub - How to start?

Hello, I’ve been working on a project for a while and wanted to add my own protocol to it. However, I decided that I would use ActivityPub if there is an option. However, this protocol seems to be terribly overkill. Nevertheless, I would like to understand it.

The project is in PHP, so I initially use ActivityPHP.

I would like to know what exactly I need to do to make the initial server.

Unfortunately in my opinion the documentation is a bit … difficult?


So each user is an actor (actor can also be a bot, but whatever). What important parameters do you think it must have? Is it possible to add public keys in the actor field?

Additionally what text mode do I need to choose for articles. For now I’ve set “article” because it seems to have all the fields. Just wondering how to add the tags (they should be an array, but it doesn’t work very well for me.

How exactly is the server supposed to work? Obviously ActivityPHP has an option to create a server (how?), but I haven’t found information on what the server should have in order to be received from outside.

It would be nice if there were people (Discord, Matrix?) who would be willing to help me understand ActivityPub and at the same time know how it works (so I can ask questions and learn).

Yes, it is difficult. On this forum you can start by reading Guide for new ActivityPub implementers and then on the ActivityPub watchlist there are a number of PHP project to study.

1 Like

Is there any application that validates the ActivityPub server? I wrote (for example) some function and I want to check if it works correctly with other Activity based solutions or for example what I should add to make it work better.

There is the unofficial AP testsuite you can try, and there’s also FediDB by @dansup, but I don’t know if you can join that, as it is in beta.