Ariadne's (Kaniini's) no-nonsense activitypub implementation. Bound to really kick some serious ass too. Was originally located at https://ariadne.space but is now defunct. https://github.com/kaniini/jejune
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ariadne Conill 1270a7c115 activity streams: fix complexity protection 1 month ago
doc FAQ: be a little more diplomatic :) 3 months ago
jejune activity streams: fix complexity protection 1 month ago
jejune_tests formatter: implement tests for format_mentions 2 months ago
static update jejune-client 2 months ago
store/upload implement avatar uploading 3 months ago
.gitignore add store directory to gitignore 3 months ago
CHANGELOG.md Jejune milestone 2 (version 0.0.2). 2 months ago
CODE_OF_CONDUCT.md add code of conduct 3 months ago
COPYING.md add ISC license 2 months ago
README.md README: add real install directions 2 months ago
config.yaml.example posse: twitter: add user mapping 2 months ago
requirements.txt requirements: pin cryptography version to <3.4 2 months ago

README.md

Jejune.

Matrix

Jejune is a work in progress personal ActivityPub server designed to use constructions which provide functional security and resilience. Unlike most other implementations, Jejune does not use SQL databases, but instead uses a filesystem inspired by Linked Data concepts and RDF, which can be replicated in real-time using IPFS.

It provides a public website that can be themed by the end user, powered by Jinja templates and CSS variables.

Screenshot (public frontend, default theme)

For posting on the go, it has some level of API compatibility with Mastodon and Pleroma applications, but normally, it is driven by the ActivityPub client protocol and jejune-client.

Screenshot of jejune-client

Important

This is alpha-quality software and does not yet support many features necessary for running a secure instance, it also lacks moderation tools. You should not run this software in production yet.

Installation

These instructions assume the user is using Alpine Linux. If you are using a different OS, you will need to translate the directions accordingly.

Before you proceed, you will need to install some dependencies:

# apk add build-base python3-dev openssl-dev

You will also want to create a user. Do not run Jejune as root!

# adduser jejune
[...]
# su - jejune
$ git clone https://github.com/kaniini/jejune
[...]
$ cd jejune

We recommend the use of a Python virtualenv. First, create a virtualenv using the virtualenv module and enter it:

$ python3 -m virtualenv prod
$ source ./prod/bin/activate

Next, install the dependencies:

(prod) $ pip3 install -r requirements.txt

You will need to configure your instance. Copy config.yaml.example and edit it:

(prod) $ cp config.yaml.example config.yaml
(prod) $ nano config.yaml

Finally, you will need to create your admin user:

(prod) $ JEJUNE_CONFIG=config.yaml python3 -m jejune.tasks.create_user
[...]

You can now launch the Jejune server, which will listen on localhost:8080. You should configure nginx or caddy or whatever server you use to proxy requests to localhost:8080.

(prod) $ JEJUNE_CONFIG=config.yaml python3 -m jejune
[...]
Starting webserver on 127.0.0.1:8080

At this point, you can go to /.well-known/jejune on your instance to access jejune-client. Happy blogging!