Conversation
* updated docker file to build from latest version of the code * added docker build pipeline
* build docker image with alpine * updated ci
KeyboardSounds
left a comment
There was a problem hiding this comment.
Significantly shrinking the size of our image sounds like a good idea, and I can't think off the top of my head why we're not already using alpine. @soyarsauce, @peterhassall and/or @steve9164 should also have a look at this.
|
Unfortunately we can't merge this PR as is - our Dockerfile is written as a way to package up an immutable build and this undoes most of that. For some of our maps, we specify a set of dependencies that we want at time of building/deploying/releasing a given TerriaMap and commit that lockfile - and allowing dockerfile to pull in newer versions of libraries will introduce an u-tracked (bar looking at the lockfile inside a given image) and different set of dependencies.
One reason would be having to check puppeteer deps again, size reduction is a really good goal but this PR would better suit a directory/dockerfile targetted for running in this fashion, or to separate just the size shrink change from the dependency-update change |
|
@soyarsauce so just to clarify, are you suggesting that @davidedelerma should set up a separate Dockerfile in |
- Original Docker file is now based on Alpine to reduce image size - An alternative Docker file is in docker-alternate. It installs the packages defined in package.json at build time so that it can be build automatically from what is defined in package.json without the need of install tha packages locally first.
|
@soyarsauce @KeyboardSounds I pushed some changes that follow up your suggestions. |
* Adding server configuration folder * Modifying readme for passing a whole config file instead of a single port
* changed accent colors buttons colors lateral menu colors for solomon * better contrast on hover over menu item in catalog * added logos for sl and vt
Conflicts: deploy/docker-alternate/readme_dockerfile_alternate.md deploy/docker/Dockerfile
Using Apine to get a smaller image and runnin npm install at built time to pull the newest versions of the libraries.
Using Alpine resulted in ~50% size reduction of the image compared to data61/terria-terriamap