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/resources/Guides/HOSTING.md

58 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# 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
2021-10-13 17:31:49 +03:00
You need nodejs and yarn installed in order to proceed! I recommend using node 14.x.
Once you have installed node, clone the repo and then cd into the brainlet folder.
Then, run the following command:
```
2021-10-13 17:31:49 +03:00
yarn 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:
```
2021-10-13 17:31:49 +03:00
yarn start
```
2021-10-13 17:31:49 +03:00
Afterwards, try going to [http://localhost:3005/](http://localhost:3005/) to visit the site, assuming default port config.
Good luck!