BrickTracker/docs/setup.md

95 lines
2.7 KiB
Markdown

# Setup
> **Note**<br>
> The following page is based on version `1.0.0` of BrickTracker.
## Prerequisites
Check your operating system documentation to install `docker` and `docker compose`.
## A note on environment variables
You need to pass the `BK_<name>` environment to your application, depending on how you run the application.
For instance:
- Docker: `docker run -e BK_<name>=xxxx`
- Docker compose (directly in `compose.yaml`):
```
services:
bricktracker:
environment:
- BK_<name>=xxxx
```
- Docker compose (with an environement file, for instance `.env`)
```
-- .env
BK_<name>=xxxx
-- compose.yaml
services:
bricktracker:
env_file: ".env"
```
> **Warning**<br>
> Do not use quotes (", ') around your environment variables.
> Docker will interpret them has being part of the **value** of the environment variable.
> For instance...
>
> ```
> services:
> bricktracker:
> environment:
> - BK_AUTHENTICATION_KEY="xxxx"
> ```
>
> ...will make Docker believe that your API key is `"xxxx"`.
## Environment file and customization options
The [.env.sample](../.env.sample) file provides ample documentation on all the configurable options. Have a look at it.
You can make a copy of `.env.sample` as `.env` with your options or create an `.env` file from scratch.
## Database file
To accomodate for the original version of BrickTracker, the default database path is `./app.db`.
This is not ideal for a setup with volumes because it is a single file.
You can use a combination of a volume and the `BK_DATABASE_PATH` environment variable to accomodate for that.
For instance:
```
services:
bricktracker:
volumes:
- database:/database/
environment:
BK_DATABASE_PATH: /database/app.db
volumes:
database:
```
## Rebrickable API key
Although not mandatory for the application to run, it is necessary to add any data to the application.
It is set up with the `BK_REBRICKABLE_API_KEY` environment variable (or `REBRICKABLE_API_KEY` to accomodate for the original version of BrickTracker).
## Static image and instructions files folders
Since the images and instruction files are to be served by the webserver, it is expected they reside in the `/app/static` folder.
You can control the name/path of each image type relative to `app/static` with the `BK_*_FOLDER` variables.
## CSV files
Some CSV files are used to resolve informations like theme names or retired set dates.
In the original version of BrickTracker they were either shipped with the container or residing at the root of the application, meaning that any update to it would not survive a container update.
You can use the `BK_RETIRED_SET_PATH` and `BK_THEMES_PATH` to relocate them into a volume.
## Authentication
See [authentication](authentication.md)