website/README.md
bytedream b7177708a7
All checks were successful
delpoy / build-and-deploy (push) Successful in 45s
add optional env variable to protect the public report creation endpoint with a secret
2023-09-30 01:10:50 +02:00

42 lines
2.8 KiB
Markdown

## Quickstart
To run the website locally simply execute the following commands:
```shell
# install all dependencies
$ npm i
# run in development mode. this will start the dev server at localhost:5173
$ npm run dev
```
## Building
To build the website for production, use the following command:
```shell
# install all dependencies
$ npm i
# build for production. will be available in the build/ directory
$ npm run build
# run the production build.
# this will start the server at 0.0.0.0:3000, you can customize this and various other behaviors by defining environment variables. see the configuration section below for more information
$ node build/index.js
# same as 'node build/index.js' above but this loads variables from a .env file into the environment
$ node -r dotenv/config build/index.js
```
## Configuration
Configurations can be done with env variables
| Name | Description |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `HOST` | Host the server should listen on |
| `PORT` | Port the server should listen on |
| `DATABASE_URI` | URI to the database as a connection string. Supported databases are [sqlite](https://www.sqlite.org/index.html) and [mariadb](https://mariadb.org/) |
| `ADMIN_USER` | Name for the root admin user. The admin user won't be available if `ADMIN_USER` or `ADMIN_PASSWORD` is set |
| `ADMIN_PASSWORD` | Password for the root admin user defined via `ADMIN_USER`. The admin user won't be available if `ADMIN_USER` or `ADMIN_PASSWORD` is set |
| `REPORT_SECRET` | Secret which may be required (as `?secret=<secret>` query parameter) to create reports on the public endpoint. Isn't required to be in the request if this variable is empty |
| `PUBLIC_BASE_PATH` | If running the website on a sub-path, set this variable to the path so that assets etc. can find the correct location |
| `PUBLIC_START_DATE` | The start date when the event starts |