Add short instructions in readme for setting up production server
This commit is contained in:
parent
b80b219748
commit
39f5a011ed
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
local
|
||||
config.json
|
||||
src/config.json
|
||||
data
|
||||
|
|
28
README.md
28
README.md
|
@ -10,6 +10,34 @@ separated into components:
|
|||
provides summaries and visualizations, and lets users adjust settings and
|
||||
manage and publish their tracks.
|
||||
|
||||
## Deployment setup
|
||||
|
||||
You should be familiar with managing a Linux server. If not, find a suitable
|
||||
guide first. This will only give a rough outline of the steps to take, you must
|
||||
make sure to properly set up and secure your server yourself.
|
||||
|
||||
1. Create a user for running the application. It is not recommended to run as a
|
||||
user that is also used for other things. Do not run as root!
|
||||
2. Clone the repository.
|
||||
3. Install `node` of at least version 14, and also `npm`.
|
||||
4. Run `npm ci` in the `api` and `frontend` directories to install dependencies.
|
||||
5. Install and configure a MongoDB somewhere.
|
||||
6. Copy `api/config.json.example` to `api/config.json` and change it to suit
|
||||
your setup. Make sure to only use https URLs. Generate secure secrets.
|
||||
Customize client IDs.
|
||||
7. Copy `frontend/src/config.json.example` to `frontend/src/config.json` and
|
||||
adjust.
|
||||
8. Run `npm run build` in the frontend directory. This needs to be done after
|
||||
changing the config, so if you did something wrong, re-run the build. If you
|
||||
run your frontend on a non-root URL, run the build with the
|
||||
`PUBLIC_URL=/prefix` environment variable.
|
||||
9. Create a systemd-user service, or use tmux, or do whatever you like to start
|
||||
the API service (`npm start` in `api/` directory). It should run as the
|
||||
dedicated user, and expose `127.0.0.1:3000`. Use `PORT` environment variable
|
||||
if you want to change the port. Make sure the service starts with
|
||||
environment `NODE_ENV=production`, too.
|
||||
10. Configure nginx or your reverse-proxy of choice to forward API requests to
|
||||
the API port, and serve static files from the `frontend/build/` folder.
|
||||
|
||||
## Development setup
|
||||
|
||||
|
|
Loading…
Reference in a new issue