From eca391baf3332eb65724c202f49e05984adc74e2 Mon Sep 17 00:00:00 2001 From: Wyatt Pearsall Date: Wed, 23 Sep 2015 15:52:36 -0700 Subject: [PATCH 1/8] Dockerfile updated --- Dockerfile | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 44301ed..e24fa35 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,21 @@ -FROM alpine:3.2 +FROM mhart/alpine-node:0.10 -ADD ./dist /var/www/hmda-pilot -COPY ./docker-files /tmp/scripts +WORKDIR /usr/local/app -# Use a custom build script instead of messy chained together RUN -# or multiple RUN statements that add bloat to the image -RUN /tmp/scripts/run.sh +COPY . . + +RUN docker-files/run.sh + +USER notroot + +RUN docker-files/run-node.sh + +USER root + +RUN mv dist/* /var/www/hmda-pilot EXPOSE 80 443 + ENTRYPOINT ["/entrypoint.sh"] -CMD ["nginx"] \ No newline at end of file + +CMD ["nginx"] From 3ba8de38d98c1b054aa1c079564a8e914f9a6b08 Mon Sep 17 00:00:00 2001 From: Wyatt Pearsall Date: Wed, 23 Sep 2015 15:52:57 -0700 Subject: [PATCH 2/8] run scripts --- docker-files/run-node.sh | 5 +++++ docker-files/run.sh | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) create mode 100755 docker-files/run-node.sh diff --git a/docker-files/run-node.sh b/docker-files/run-node.sh new file mode 100755 index 0000000..f79d4c2 --- /dev/null +++ b/docker-files/run-node.sh @@ -0,0 +1,5 @@ +#Install node deps and build +npm install -g grunt-cli +npm install + +grunt build:docker diff --git a/docker-files/run.sh b/docker-files/run.sh index cab8090..58178a1 100755 --- a/docker-files/run.sh +++ b/docker-files/run.sh @@ -1,14 +1,19 @@ #!/bin/sh ##### add dependencies -apk --update add nginx sed -chown -R nginx:nginx /var/www +apk --update add nginx sed make gcc g++ python git ##### Move some things into place -cp -f /tmp/scripts/nginx.conf /etc/nginx -cp -f /tmp/scripts/hmda-pilot.conf.tmpl /etc/nginx -cp -f /tmp/scripts/entrypoint.sh / -cp -f /tmp/scripts/update-nginx-config.sh /etc/nginx +cp -f docker-files/nginx.conf /etc/nginx +cp -f docker-files/hmda-pilot.conf.tmpl /etc/nginx +cp -f docker-files/entrypoint.sh / +cp -f docker-files/update-nginx-config.sh /etc/nginx + + +mkdir -p /var/www/hmda-pilot +chown -R nginx:nginx /var/www +adduser -S notroot +chown -R notroot /usr/local/app ##### Clean up -rm -rf /var/cache/apk/* /tmp/scripts \ No newline at end of file +rm -rf /var/cache/apk/* From e4d26a523bc7984060396a09f4295c3d3d61688d Mon Sep 17 00:00:00 2001 From: Wyatt Pearsall Date: Wed, 23 Sep 2015 15:53:14 -0700 Subject: [PATCH 3/8] Modify dockerignore to pass through files --- .dockerignore | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.dockerignore b/.dockerignore index fe88e3a..db63a34 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,9 +7,6 @@ logs # Directory for instrumented libs generated by jscoverage/JSCover lib-cov -# Coverage directory used by tools like istanbul -coverage - # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) .grunt @@ -32,13 +29,4 @@ desktop.ini # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- node_modules -app -config -docs -test -scripts -*.md -*.yml LICENSE -build-docker-container.sh -run-docker-container.sh From 6ecdfde0324a18707894fde224f65447a50e76ac Mon Sep 17 00:00:00 2001 From: Wyatt Pearsall Date: Wed, 23 Sep 2015 15:53:29 -0700 Subject: [PATCH 4/8] Cleanup old scripts --- build-docker-container.sh | 7 ------- run-docker-container.sh | 5 ----- 2 files changed, 12 deletions(-) delete mode 100755 build-docker-container.sh delete mode 100755 run-docker-container.sh diff --git a/build-docker-container.sh b/build-docker-container.sh deleted file mode 100755 index 359eca8..0000000 --- a/build-docker-container.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# Create the dist package for docker -grunt build:docker -# Remove any previous instance of the api image -docker rmi -f hmda-pilot -# Build the api image as defined in the Dockerfile in the current dir -docker build -t hmda-pilot . \ No newline at end of file diff --git a/run-docker-container.sh b/run-docker-container.sh deleted file mode 100755 index 602e381..0000000 --- a/run-docker-container.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -# Remove any current container for the UI -docker rm -f hmda-pilot -# Run the UI container, linking in the api container -docker run -d --link hmda-pilot-api --name hmda-pilot -p 80:80 hmda-pilot \ No newline at end of file From c3b5a7304c85fd696b407016ffdd59877344caf8 Mon Sep 17 00:00:00 2001 From: Wyatt Pearsall Date: Wed, 23 Sep 2015 23:01:25 -0700 Subject: [PATCH 5/8] Move global install to root user --- docker-files/run-node.sh | 1 - docker-files/run.sh | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker-files/run-node.sh b/docker-files/run-node.sh index f79d4c2..d9a22c0 100755 --- a/docker-files/run-node.sh +++ b/docker-files/run-node.sh @@ -1,5 +1,4 @@ #Install node deps and build -npm install -g grunt-cli npm install grunt build:docker diff --git a/docker-files/run.sh b/docker-files/run.sh index 58178a1..bfed95b 100755 --- a/docker-files/run.sh +++ b/docker-files/run.sh @@ -9,11 +9,14 @@ cp -f docker-files/hmda-pilot.conf.tmpl /etc/nginx cp -f docker-files/entrypoint.sh / cp -f docker-files/update-nginx-config.sh /etc/nginx - +##### Set permissions mkdir -p /var/www/hmda-pilot chown -R nginx:nginx /var/www adduser -S notroot chown -R notroot /usr/local/app +##### Install global modules +npm install -g grunt-cli + ##### Clean up rm -rf /var/cache/apk/* From eb075a899efe94fece79cb605d40fbdcee839730 Mon Sep 17 00:00:00 2001 From: Wyatt Pearsall Date: Wed, 23 Sep 2015 23:01:46 -0700 Subject: [PATCH 6/8] bump dep version to prevent failure --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5276e03..c58e337 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "grunt-newer": "^0.7.0", "grunt-ng-annotate": "^0.8.0", "grunt-protractor-runner": "^2.0.0", - "grunt-replace": "^0.8.0", + "grunt-replace": "^0.11.0", "grunt-svgmin": "^0.4.0", "grunt-usemin": "^2.1.1", "grunt-wiredep": "^1.7.0", From f5fefa6a43ce9e255e11bb0d73bdbed4e5e017c8 Mon Sep 17 00:00:00 2001 From: Wyatt Pearsall Date: Wed, 23 Sep 2015 23:27:48 -0700 Subject: [PATCH 7/8] Remove imagemin grunt task which fails on alpine --- Gruntfile.js | 23 +++++++++++------------ package.json | 1 - 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index c66ef19..79d54f8 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -289,17 +289,16 @@ module.exports = function (grunt) { // dist: {} // }, - imagemin: { - dist: { - files: [{ - expand: true, - cwd: '<%= yeoman.app %>/images', - src: '{,*/}*.{png,jpg,jpeg,gif}', - dest: '<%= yeoman.dist %>/images' - }] - } - }, - +// imagemin: { +// dist: { +// files: [{ +// expand: true, +// cwd: '<%= yeoman.app %>/images', +// src: '{,*/}*.{png,jpg,jpeg,gif}', +// dest: '<%= yeoman.dist %>/images' +// }] +// } +// }, svgmin: { dist: { files: [{ @@ -383,7 +382,7 @@ module.exports = function (grunt) { ], dist: [ 'copy:styles', - 'imagemin', + // 'imagemin', 'svgmin' ] }, diff --git a/package.json b/package.json index c58e337..3323e5a 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,6 @@ "grunt-contrib-copy": "^0.5.0", "grunt-contrib-cssmin": "^0.9.0", "grunt-contrib-htmlmin": "^0.3.0", - "grunt-contrib-imagemin": "^0.9.2", "grunt-contrib-jshint": "^0.11.0", "grunt-contrib-less": "^0.12.0", "grunt-contrib-uglify": "^0.4.0", From f80520e06a50680fc2e15a5012f2c48c0687d5c4 Mon Sep 17 00:00:00 2001 From: Wyatt Pearsall Date: Fri, 25 Sep 2015 17:35:39 -0700 Subject: [PATCH 8/8] mv bug (thanks alpine) --- Dockerfile | 2 +- docker-files/run.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index e24fa35..e457956 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ RUN docker-files/run-node.sh USER root -RUN mv dist/* /var/www/hmda-pilot +RUN cp -r dist/ /var/www/hmda-pilot/ EXPOSE 80 443 diff --git a/docker-files/run.sh b/docker-files/run.sh index bfed95b..88120f3 100755 --- a/docker-files/run.sh +++ b/docker-files/run.sh @@ -10,7 +10,7 @@ cp -f docker-files/entrypoint.sh / cp -f docker-files/update-nginx-config.sh /etc/nginx ##### Set permissions -mkdir -p /var/www/hmda-pilot +mkdir -p /var/www/ chown -R nginx:nginx /var/www adduser -S notroot chown -R notroot /usr/local/app