Updating README.md

This commit is contained in:
Farhan Khan 2022-02-03 21:58:08 -05:00
parent df6cfe9899
commit 181277c343

View File

@ -11,14 +11,13 @@ system for use by fediverse users and APIs.
Fedilogue employs multiple methods to gather post and account data. Fedilogue employs multiple methods to gather post and account data.
* Through publicly accessible timelines * Through publicly accessible timelines
* Through privately accessible timelines, requiring an account on a given instance
* Through publicly accessible relays * Through publicly accessible relays
* Through privately accessible timelines, requiring an account on a given instance (untested)
* Through followed users using a mass following agent (planned) * Through followed users using a mass following agent (planned)
## Supported Instances ## Supported Instances
Fedilogue can receive posts from any instance that supports the ActivityPub protocol. However, it can only Fedilogue can retrieve Notes (posts) from any instance that supports the ActivityPub protocol. However, it can only pull from Mastodon and Pleroma.
pull from instances that use the Mastodon API, which includes Pleroma.
## How to run ## How to run
@ -34,16 +33,41 @@ cd fedilogue/fedilogue
go build go build
``` ```
There should now be a `fedilogue` executable in the project directory. This will produce a fedilogue executable in the project directory.
### Prepopulate the Database
Create the `fedilogue` database and the user fedilogue. The exact process for this is outside of the scope of this document
### Fedilogue Control
``` ```
cd fedilogue/fedictl CREATE USER fedilogue WITH PASSWORD 'yoursecurepassword';
go build CREATE DATABASE fedilogue OWNER fedilogue;
``` ```
Using the executable `fedictl`, you can now view the running state of instances or manually add a new instance for polling. Set the environment variable
```
export DATABASE_URL="postgres://fedilogue:yoursecurepassword@localhost/fedilogue"
```
Change accordingly if your username, hostname and database are different.
```
cd fedilogue/fedilogue
psql -U fedilogue -h localhost < tables.sql
```
### Generate private and public key
This is only necessary if you are receiving posts from a relay.
```
cd fedilogue
mkdir -p keys
openssl genrsa -out keys/private.pem 3072
openssl rsa -in keys/private.pem -pubout -out keys/public.pem
```
### Configuration ### Configuration
@ -51,14 +75,39 @@ Fedilogue is configured by the `config.jsonc` file. Start by copying the `config
`config.jsonc` and edit the file with your use-case values. The configuration file is written in jsonc and `config.jsonc` and edit the file with your use-case values. The configuration file is written in jsonc and
has enclosed explanations that should be self-explanatory. has enclosed explanations that should be self-explanatory.
### Generate private and public key Over time, all configuration will be done through the database.
## Starting Fedilogue
### Starting the retrieval daemon
``` ```
cd fedilogue cd fedilogue
mkdir -p keys ./fedilogue
openssl genrsa -out keys/private.pem 3072
openssl rsa -in keys/private.pem -pubout -out public-key.pem
``` ```
### Subscribe to a relay
Make sure that the `hostname` variable is set to a host that points to your fedilogue instance. Forward port
SSL/443 to port 8042.
```
./fedictl -follow https://relay.social.tigwali.fr/inbox
```
### Starting the RestAPI service
Start the RestAPI service to make the data accessible to external services, such as the web interface (which is currently not written).
```
cd restapi
go build .
./restapi
```
For documentation on how the API is located [here](restapi/RESTAPI.md).
## Contact ## Contact
Ping me at [@fikran@thebag.social](https://thebag.social/@fikran) Ping me at [@fikran@thebag.social](https://thebag.social/@fikran)