This repository has been archived on 2022-05-17. You can view files and clone it, but cannot push or open issues or pull requests.
brainlet/README.md

1.8 KiB

Brainlet

Brainlet is a simple chat app. Each category has a text channel associated with it, all messages sent in the text channel are temporary, while in the category itself all posts are permanent.

As its database, it uses Mongo DB.

Self-hosting

So you wanna host Brainlet yourself, huh?

Firstly, you're gonna need a MongoDB server, I just use Docker for the Mongo server, but you can try to not use Docker, though Mongo does not want to standalone on anything outside a perfect debian system or windows, so just use Docker. (if you are on windows, simply install mongo normally, it should work nicely)

Let create a Docker container for Mongo!

docker run -it -v mongodata:/data/db -p 27017:27017 --name mongodb -d mongo

This should automatically run it, however, next time you need it you gotta run:

docker start mongodb

Stopping it is as simple as:

docker stop mongodb

Now that we have a Mongo server set up, let's actually begin to set up the Brainlet server.

NOTE: You need nodejs and npm installed in order to proceed! I recommend using node 12.x, but anything above that will probably work.

Once you have installed node, clone the repo and then cd into it. Then, run the following command:

npm i

This will install all of the node modules.

OPTIONAL: You may want to edit secret.js and have jwtPrivateKey set to a randomly generated key, such as with /dev/urandom. This will allow session cookies to persist after server reboot.

If you don't set one yourself, a private key will be randomly generated each time the server starts.

NOTE: You can edit config.js to tweak some of the settings. You might wanna do that, especially if you are planning to run it on a domain. (setting the address variable)

You should now be ready to go!

Just run Brainlet with the command below:

node index.js

Good luck!