Federated blogging application, thanks to ActivityPub
Find a file
2018-06-10 12:41:43 +01:00
migrations Order notifications by creation date 2018-05-24 11:12:27 +01:00
src Note's actor is usually just an ID, not a full object 2018-06-10 12:41:43 +01:00
static Make the design less aggresive 2018-05-13 21:33:21 +01:00
templates add optional login message and callback 2018-06-04 20:21:43 +02:00
.gitignore Merge pull request #27 from Plume-org/activitystreams 2018-05-18 23:14:55 +01:00
.travis.yml Add Travis CI 2018-04-30 22:15:07 +01:00
Cargo.lock Remove unecessary dependencies 2018-06-10 12:17:31 +01:00
Cargo.toml Remove unecessary dependencies 2018-06-10 12:17:31 +01:00
LICENSE Add a license (AGPLv3) 2018-05-01 13:01:38 +01:00
README.md Add a link to the demo instance in the README 2018-05-12 14:35:37 +01:00
rust-toolchain Specify Rust toolchain 2018-05-01 19:37:04 +01:00

Plume Build Status

Federated blogging engine, based on ActivityPub.

Demo instance

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 /configure.

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