ActivityMemes is an open-source federated meme-sharing platform. Uses ActivityPub for federation.
Warning: ActivityMemes is currently in the early stages of development and can be considered very unstable. There is no guarantee that every database schema change will have an appropriate migration.
ActivityMemes is written in the Rust programming language and can be compiled with a modern version of Rust toolchain.
- Run
cargo build --releaseto build ActivityMemes. - Create a PostgreSQL database and a user that will be used to access the database.
- Generate an RSA keypair and save the public and the private key into two PEM files.
- Create a
config.jsonfile with following contents:
{
"scheme": "http",
"domain": "localhost:8080",
"port": 8080,
"db_connection_uri": "postgres://username:password@localhost:5432/db_name",
"num_of_db_pool_connections": 8,
"token_rsa_public_key_pem_filepath": "pub.pem",
"token_rsa_private_key_pem_filepath": "priv.pem"
}- In
config.json, replace the value ofdb_connection_uriwith your PostgreSQL connection URI, replace values oftoken_rsa_public_key_pem_filepathandtoken_rsa_private_key_pem_filepathwith filepaths to public and private key files respectively. Please note that value ofschemefield currently should not be changed. - Start
./target/release/activitymemes.
In the future, much of this will be automated.