|
3 years ago | |
---|---|---|
static/icons | 5 years ago | |
templates | 5 years ago | |
.gitignore | 3 years ago | |
README.md | 3 years ago | |
requirements.txt | 3 years ago | |
run.py | 3 years ago |
README.md
AP test in Flask
A basic ActivityPub server written in Flask, that listens to follow requests, based on this tutorial: https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
This is a testing area :), to see if it is possible to use Python and Flask to write a small server that speaks ActivityPub.
This repository was sparked from a curiosity in federation and light-weight (static) website making.
Operating on the level of the ActivityPub protocol will hopefully give some insights in the way that networks on the Fediverse federate with each other.
- What are the minimal requirements to run an Activity Pub server?
- How could a static site federate its content with the Fediverse?
- How are ActivityPub feeds similar and different from RSS feeds?
- How can such server be used? What kind of publishing tools can be imagined?
- What ActivityPub "objects" (is that the right term?) can we try out and use, next to the commonly used "Note" object?
Install this prototype
When you run this prototype on a server, you could connect to the Fediverse.
Prepare your server
For this you need to following:
- a subdomain for the server, for example:
ap.example.com
- a SSL certificate for this domain, for which you could use:
certbot
from https://letsencrypt.org/ - a reverse proxy configuration, relaying the subdomain to the Flask application running on port
5010
(by default)
Once this is set up, you can install this prototype.
Install the prototype
Make a virtual environment:
$ python3 -m venv FOLDERNAME
Activate the environment:
$ source FOLDERNAME/bin/activate
Install the dependencies:
$ pip install -r requirements.txt
Run the Flask application:
$ python3 run.py