Federated blogging application, thanks to ActivityPub
Find a file
Baptiste Gelez 73512a4fdc
Merge pull request #30 from JosephKiranBabu/display-post-author
Display post author and date in the post view
2018-05-19 08:44:39 +01:00
migrations Add support for shared inboxes for users 2018-05-13 19:12:27 +01:00
src Merge pull request #30 from JosephKiranBabu/display-post-author 2018-05-19 08:44:39 +01:00
static Make the design less aggresive 2018-05-13 21:33:21 +01:00
templates Display post author and date in the post view 2018-05-19 10:16:05 +05:30
.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 Resolve activitystream TODOs 2018-05-18 23:04:30 +01:00
Cargo.toml Resolve activitystream TODOs 2018-05-18 23:04:30 +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