Federated blogging application, thanks to ActivityPub
Find a file
2018-05-10 17:07:23 +01:00
migrations Add a model for likes 2018-05-10 16:54:35 +01:00
src Receive likes with ActivityPub 2018-05-10 17:07:23 +01:00
templates Make it possible to respond to a comment 2018-05-10 15:26:12 +01:00
.gitignore Initial commit 2018-04-22 14:35:37 +01:00
.travis.yml Add Travis CI 2018-04-30 22:15:07 +01:00
Cargo.lock HTTP signature when sending activites 2018-05-04 16:18:00 +01:00
Cargo.toml Fix Cargo.toml 2018-05-04 16:21:33 +01:00
LICENSE Add a license (AGPLv3) 2018-05-01 13:01:38 +01:00
README.md Make it possible to test the federation locally 2018-05-02 13:47:46 +01:00
rust-toolchain Specify Rust toolchain 2018-05-01 19:37:04 +01:00

Plume Build Status

Federated blogging engine, based on ActivityPub.

Setup the database

You'll need Postgres.

sudo su postgres

psql

CREATE DATABASE plume;
CREATE USER plume WITH PASSWORD 'plume';
GRANT ALL PRIVILEGES ON DATABASE plume to plume;
\q

exit

Then run the migrations

diesel migrations run # Install diesel with `cargo install diesel_cli` if needed

You should repeat this operation every time the database schema has been modified. A good practice is to run it after every git pull.

Starting the app

Just use:

cargo run

You'll need Rust nightly.

Once the app started, try to visit localhost:8000.

To configure the instance (needed before you can do anything else), go on /configire.

Testing the federation

To test the federation, you'll need to setup another database (see "Setup the database"), also owned by the "plume" user, but with a different name. Then, you'll need to run the migrations for this database too.

diesel migration run --database-url postgres://plume:plume@localhost/my_other_plume_db

To run this other instance, you'll need to give two environment variables:

  • ROCKET_PORT, the port on which your app will run
  • DB_NAME, the name of the database you just created
ROCKET_PORT=3033 DB_NAME=my_other_plume_db cargo run