/Nitro-Fediverse

Human Connection joins the Fediverse using ActivityPub

Primary LanguageJavaScriptMIT LicenseMIT

Nitro-Fediverse

This repository is maintained by an active community. We have regular meetings, run pair-programmings and tutorials in our online learner community at Agile Ventures. Join our Chat here and watch our latest meetings or pair-programmings.

Start contributing

Clone the repository:

git clone https://github.com/Human-Connection/Nitro-Fediverse.git

Switch in the folder

cd Nitro-Fediverse

Prerequisite

Mongodb need to be installed. It is used to store all ActivityPub related meta data.

Installation and Usage without Docker

Make sure you have node and yarn installed:

$ node --version
v10.15.0
$ yarn --version
1.12.3

Run:

$ cp .env.template .env

And change .env according to your setup.

Install dependencies:

yarn install

Run:

yarn run server

Application is running on localhost:4100

Installation and Usage with Docker

Make sure you have docker and docker-compose installed:

$ docker --version
Docker version 18.09.1-ce, build 4c52b901c6
$ docker-compose --version
docker-compose version 1.23.2, build unknown

Start and build containers:

$ cd Nitro-Fediverse
docker-compose up

Application is running on localhost:4100

Testing

Run:

yarn run test

Exposing the endpoint

You can use a service like ngrok to test things out before you deploy on a real server.

Run:

ngrok http 4100

Copy the domain name (e.g. 9bab9fd1.ngrok.io) and run:

DOMAIN=9bab9fd1.ngrok.io yarn run server

or

DOMAIN=9bab9fd1.ngrok.io docker-compose up

depending on your setup.

Debugging

This repository uses debug as logging tool. Just take a look at the imports of a file and search for e.g. require('debug')('ea:utils'). If you want to see the debugging output for this specific file, run one of the above commands prefixed with DEBUG=ea:utils.

You can also see all debugging output available by prefixing with DEBUG=ea*.

Deployment

🚧 Coming soon.

License

See the LICENSE file for license rights and limitations (MIT).

Credit

This repository is based on Darius Kazemi's repsitory "express-activitypub".