Create Docker files each OTB codebase
- This repository
- Admin UI
- Public UI
Admin Interface
The admin interface is a Node app. We are in the process of updating the codebase, but you will see lots of deprecation warnings. The Docker file should be based on a Node image. Let's stick with version 20. The Docker file will need to
- When building the image, install dependencies
- The command or entrypoint will start the app
Public Interface
Much like the admin interface, this is pretty old. It will need to run on Node 14 😬. I had trouble getting it to build locally. I assume because system is ARM based. I added a zipped up build to the release. That will run for me locally. If it can be built and run on an x86 system, the steps would be
- Building
npm install
npm run build
- The command or entrypoint will start the app
API Server
You've already done this work.
Web Server
We will need to add a web server - Apache or Nginx - to the compose file and expose ports 80 and 443. Then we will need to add a config that proxies to the other container
- 3000 for the the api server
- 4200 for the admin interface
- 4000 for the public interface
This config will be a little tricky. Let's save that for the end.
Create Docker files each OTB codebase
Admin Interface
The admin interface is a Node app. We are in the process of updating the codebase, but you will see lots of deprecation warnings. The Docker file should be based on a Node image. Let's stick with version 20. The Docker file will need to
Public Interface
Much like the admin interface, this is pretty old. It will need to run on Node 14 😬. I had trouble getting it to build locally. I assume because system is ARM based. I added a zipped up build to the release. That will run for me locally. If it can be built and run on an x86 system, the steps would be
API Server
You've already done this work.
Web Server
We will need to add a web server - Apache or Nginx - to the compose file and expose ports 80 and 443. Then we will need to add a config that proxies to the other container
This config will be a little tricky. Let's save that for the end.