brainlet/resources/Guides/HOSTING.md

1.8 KiB

Self-hosting

Preface

So you wanna host Brainlet yourself, huh?

This guide assumes you're using Linux, though these instructions can easily be translated to Windows or Mac.

MongoDB setup

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 it can get tricky sometimes.

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.

Server setup

You need nodejs and npm installed in order to proceed! I recommend using node 12.x.

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

npm i

This will install all of the node modules.

Post-install

The secret.js file (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.

The config.js file (important)

You need to edit the config.js file in order to allow your domain to CORS, and make various tweaks to how the server behaves. This will be better documented in the future.

You should now be ready to go!

Just run Brainlet with the command below:

npm start

Afterwards, try going to http://localhost:3005/auth.html to visit the site, assuming default port config.

Good luck!