To solve potential dependency problems start a node container with the following volume mount and working directory,
```bash
docker run -it--rm-v$(pwd)/react-frontend/my-react-app:/app -w /app node:16 bash # run and access node container with map of local my-react-app dir to app dir
```
Inside the node container run,
```bash
npm install# install all packages in package.json
```
Exit the node container,
```bash
exit
```
### Step 1) Start all services
Step 1.1) Start all services with rebuilded images
```bash
docker compose up --build
```
```bash
Compiled successfully!
react-frontend_1 |
react-frontend_1 | You can now view app in the browser.
react-frontend_1 |
react-frontend_1 | Local: http://localhost:3000
react-frontend_1 | On Your Network: http://172.18.0.3:3000
react-frontend_1 |
react-frontend_1 | Note that the development build is not optimized.
react-frontend_1 | To create a production build, use npm run build.
react-frontend_1 |
react-frontend_1 | webpack compiled successfully
```
Step 1.2) Potentially restart tornado-bakend service in a new terminal
For building for relative paths, i.e., for deployment on a relative path ([see](https://create-react-app.dev/docs/deployment#building-for-relative-paths)), an entry for the homepage has to be added to the `package.json` file.
For the deployment as part of the gitlab page of this repository the following entry is used,