To build the docker image you first need to build the java application for production:
```shell script
mvn clean install package
```
Define a username, password and database name for the postgres database in the file `./env/topic_starters_postgres.env`.
An example of what this file might look like is given in `./env/topic_starters_postgres.example.env`.
If you want to get all the topics accessible by a logged-in user (rather that just those publicly available to guests) you also need to create two more files containing the username and password of a user for the application to use.
*`./secrets/username`: which should contain the username
*`./secrets/password`: which should contain the password
Then just use the Makefile to handle the build:
```shell script
make build
```
Run the image using:
```shell script
make run
```
Stop the container using:
```shell script
make stop
```
The Makefile also provides targets for cleaning the data and dangling images.