From a7fbe9053908f96bb86f079e4a8c743e4ad6e038 Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 11:48:20 +0100 Subject: [PATCH 01/12] reordering docker commands --- Docker/Dockerfile | 58 ++++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/Docker/Dockerfile b/Docker/Dockerfile index 1890adb..4821e14 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -32,6 +32,30 @@ RUN apt-get install -y nginx RUN apt-get install -y python3 python3-pip RUN pip3 install pymongo +# Create database and temp directory +RUN mkdir /data && mkdir /temp + +# Copy resources +# Expecting the following files in this directory +# - images.tar.gz +# - dbdump.tgz +# - nginx.conf +# - mongod.conf +COPY ./images.tar.gz /temp/ +COPY ./dbdump.tgz /temp/ +COPY ./nginx.conf /etc/nginx/ +COPY ./mongod.conf /etc/ + +# Restore database dump +RUN mkdir /temp/dbdump && tar -xzvf /temp/dbdump.tgz -C /temp/dbdump +RUN mkdir /logs && touch /logs/mongod.log +RUN mongod -f /etc/mongod.conf --fork --logappend --logpath /logs/mongod.log && \ + mongorestore --host localhost --port 27017 /temp/dbdump/2016-10-21_06h34m.Friday + +# Extract and copy images +WORKDIR /temp +RUN tar -xzvf images.tar.gz -C /var/www/html/mci/img/movies + # Download repository WORKDIR /code RUN echo "Loading source code from repo https://github.com/Thylossus/tud-movie-character-insights" @@ -55,46 +79,24 @@ RUN npm install --production RUN mkdir /Server RUN cp -R /code/tud-movie-character-insights/Server/* /Server +# Cleanup +RUN rm -rf /code +RUN rm -rf /temp +RUN rm -rf /var/lib/apt/lists/* + # Create empty certificates so that the server won't fail to start RUN mkdir /Server/dbCerts && \ touch /Server/dbCerts/CAChain.pem && \ touch /Server/dbCerts/Mongodb.pem -# Create database and temp directory -RUN mkdir /data && mkdir /temp - -# Copy resources -# Expecting the following files in this directory -# - images.tar.gz -# - dbdump.tgz -# - nginx.conf -# - mongod.conf +# Copy configuration resources # - startup.sh # - server.user.conf -COPY ./images.tar.gz /temp/ -COPY ./dbdump.tgz /temp/ -COPY ./nginx.conf /etc/nginx/ -COPY ./mongod.conf /etc/ COPY startup.sh /Server/ COPY server.user.conf /Server/ -# Restore database dump -RUN mkdir /temp/dbdump && tar -xzvf /temp/dbdump.tgz -C /temp/dbdump -RUN mkdir /logs && touch /logs/mongod.log -RUN mongod -f /etc/mongod.conf --fork --logappend --logpath /logs/mongod.log && \ - mongorestore --host localhost --port 27017 /temp/dbdump/2016-10-21_06h34m.Friday - -# Extract and copy images -WORKDIR /temp -RUN tar -xzvf images.tar.gz -C /var/www/html/mci/img/movies - WORKDIR /Server -# Cleanup -RUN rm -rf /code -RUN rm -rf /temp -RUN rm -rf /var/lib/apt/lists/* - # Expose ports EXPOSE 80 From d7dd8ac3273857ed1fba92ca8145b43dc14d1003 Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 11:56:48 +0100 Subject: [PATCH 02/12] simple run script --- build_and_run.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 build_and_run.sh diff --git a/build_and_run.sh b/build_and_run.sh new file mode 100644 index 0000000..7027df1 --- /dev/null +++ b/build_and_run.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +docker build . -t moviecharacterinsight:demo + +docker run -d -p ${1:-8181}:80 --name moviecharacterinsights moviecharacterinsight:demo From 6633d895a5666ad4703d7b587dbac9a278b9b0ca Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 12:01:06 +0100 Subject: [PATCH 03/12] moved to correct location --- build_and_run.sh => Docker/build_and_run.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename build_and_run.sh => Docker/build_and_run.sh (100%) diff --git a/build_and_run.sh b/Docker/build_and_run.sh similarity index 100% rename from build_and_run.sh rename to Docker/build_and_run.sh From 3a1a20a6f4f5030278c478ac3ccdaecc1d259ea2 Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 14:06:04 +0100 Subject: [PATCH 04/12] minor reorder nginx.conf --- Docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Docker/Dockerfile b/Docker/Dockerfile index 4821e14..f021c85 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -39,11 +39,9 @@ RUN mkdir /data && mkdir /temp # Expecting the following files in this directory # - images.tar.gz # - dbdump.tgz -# - nginx.conf # - mongod.conf COPY ./images.tar.gz /temp/ COPY ./dbdump.tgz /temp/ -COPY ./nginx.conf /etc/nginx/ COPY ./mongod.conf /etc/ # Restore database dump @@ -90,8 +88,10 @@ RUN mkdir /Server/dbCerts && \ touch /Server/dbCerts/Mongodb.pem # Copy configuration resources +# - nginx.conf # - startup.sh # - server.user.conf +COPY ./nginx.conf /etc/nginx/ COPY startup.sh /Server/ COPY server.user.conf /Server/ From 96e4f4123cde4b95b59229283af3a094d07932a2 Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 14:09:09 +0100 Subject: [PATCH 05/12] reordering fix --- Docker/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Docker/Dockerfile b/Docker/Dockerfile index f021c85..8b59333 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -50,6 +50,9 @@ RUN mkdir /logs && touch /logs/mongod.log RUN mongod -f /etc/mongod.conf --fork --logappend --logpath /logs/mongod.log && \ mongorestore --host localhost --port 27017 /temp/dbdump/2016-10-21_06h34m.Friday +# Create directory for client and images +RUN mkdir -p /var/www/html/mci/img/movies + # Extract and copy images WORKDIR /temp RUN tar -xzvf images.tar.gz -C /var/www/html/mci/img/movies @@ -59,9 +62,6 @@ WORKDIR /code RUN echo "Loading source code from repo https://github.com/Thylossus/tud-movie-character-insights" RUN git clone https://github.com/Thylossus/tud-movie-character-insights -# Create directory for client and images -RUN mkdir -p /var/www/html/mci/img/movies - # Build client WORKDIR /code/tud-movie-character-insights/Client RUN npm install From 5918036f4e3cbbca14179e669d5b33ee8d16beae Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 14:28:05 +0100 Subject: [PATCH 06/12] dummy server conf --- Docker/server.user.conf | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Docker/server.user.conf diff --git a/Docker/server.user.conf b/Docker/server.user.conf new file mode 100644 index 0000000..9d18d17 --- /dev/null +++ b/Docker/server.user.conf @@ -0,0 +1,9 @@ +dir.base=/Server + +mongo.connection.mode=local +mongo.dbname=characterinsights + +mongo.url=mongodb://localhost/${mongo.dbname} + +watsonCredentialsUsername= +watsonCredentialsPassword= From 435d980f33b62bcc9001560eb0123707ba3a5f6d Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 14:32:45 +0100 Subject: [PATCH 07/12] log initial output --- Docker/build_and_run.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Docker/build_and_run.sh b/Docker/build_and_run.sh index 7027df1..5222e97 100644 --- a/Docker/build_and_run.sh +++ b/Docker/build_and_run.sh @@ -3,3 +3,5 @@ docker build . -t moviecharacterinsight:demo docker run -d -p ${1:-8181}:80 --name moviecharacterinsights moviecharacterinsight:demo + +docker logs -f moviecharacterinsights \ No newline at end of file From 86870d4482271bed987e521ea468f9974de0f2ca Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 14:35:40 +0100 Subject: [PATCH 08/12] better naming --- Docker/build_and_run.sh | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 Docker/build_and_run.sh diff --git a/Docker/build_and_run.sh b/Docker/build_and_run.sh deleted file mode 100644 index 5222e97..0000000 --- a/Docker/build_and_run.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -docker build . -t moviecharacterinsight:demo - -docker run -d -p ${1:-8181}:80 --name moviecharacterinsights moviecharacterinsight:demo - -docker logs -f moviecharacterinsights \ No newline at end of file From fda0124bc0ae9bf853a5d2a1a62fbbce6b0591aa Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 14:50:41 +0100 Subject: [PATCH 09/12] better naming --- Docker/build_and_run_docker.sh | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Docker/build_and_run_docker.sh diff --git a/Docker/build_and_run_docker.sh b/Docker/build_and_run_docker.sh new file mode 100644 index 0000000..5222e97 --- /dev/null +++ b/Docker/build_and_run_docker.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +docker build . -t moviecharacterinsight:demo + +docker run -d -p ${1:-8181}:80 --name moviecharacterinsights moviecharacterinsight:demo + +docker logs -f moviecharacterinsights \ No newline at end of file From de4c95145048a41c79ce5a5ce035f4a517913458 Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 20:33:27 +0100 Subject: [PATCH 10/12] basic auth with nginx --- Docker/Dockerfile | 3 ++- Docker/nginx.conf | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Docker/Dockerfile b/Docker/Dockerfile index 8b59333..b70b568 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -26,7 +26,8 @@ RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - RUN apt-get install -y nodejs # Install Nginx -RUN apt-get install -y nginx +RUN apt-get install -y nginx apache2-utils +RUN htpasswd -b -c /Server/.demopass demo pass # Install python + dependencies RUN apt-get install -y python3 python3-pip diff --git a/Docker/nginx.conf b/Docker/nginx.conf index b306340..b58cd1b 100644 --- a/Docker/nginx.conf +++ b/Docker/nginx.conf @@ -82,6 +82,8 @@ http { } location / { + auth_basic 'Enter demo and pass'; + auth_basic_user_file /Server/.demopass; try_files $uri $uri/ /index.html; } } From 39f58bca0747b30972c2c81933ac10b16eb22795 Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Fri, 4 Nov 2016 22:34:00 +0100 Subject: [PATCH 11/12] basic auth with nginx --- Docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docker/Dockerfile b/Docker/Dockerfile index b70b568..bb41464 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -27,7 +27,6 @@ RUN apt-get install -y nodejs # Install Nginx RUN apt-get install -y nginx apache2-utils -RUN htpasswd -b -c /Server/.demopass demo pass # Install python + dependencies RUN apt-get install -y python3 python3-pip @@ -76,6 +75,7 @@ RUN cp ./build/* /var/www/html/mci WORKDIR /code/tud-movie-character-insights/Server/app RUN npm install --production RUN mkdir /Server +RUN htpasswd -b -c /Server/.demopass demo pass RUN cp -R /code/tud-movie-character-insights/Server/* /Server # Cleanup From 06932dad639c30324a34bd5f244762e0ce7221a4 Mon Sep 17 00:00:00 2001 From: Steffen Remus Date: Mon, 7 Nov 2016 15:31:55 +0100 Subject: [PATCH 12/12] copy server conf everytime --- Docker/build_and_run_docker.sh | 2 ++ Docker/startup.sh | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Docker/build_and_run_docker.sh b/Docker/build_and_run_docker.sh index 5222e97..22a2e2c 100644 --- a/Docker/build_and_run_docker.sh +++ b/Docker/build_and_run_docker.sh @@ -4,4 +4,6 @@ docker build . -t moviecharacterinsight:demo docker run -d -p ${1:-8181}:80 --name moviecharacterinsights moviecharacterinsight:demo +docker cp server.user.conf moviecharacterinsights:/Server/ + docker logs -f moviecharacterinsights \ No newline at end of file diff --git a/Docker/startup.sh b/Docker/startup.sh index 7d3d59a..f0a8984 100644 --- a/Docker/startup.sh +++ b/Docker/startup.sh @@ -1,4 +1,6 @@ #!/bin/sh +echo "starting in 5 seconds, please copy server.user.conf now" +sleep 5 nginx mongod -f /etc/mongod.conf --fork --logappend --logpath /logs/mongod.log @@ -10,6 +12,7 @@ ps aux | grep mongod echo "nginx started?" ps aux | grep nginx -# echo "Starting app" +echo "Starting app" +cat /Server/server.user.conf cd /Server/app node app.js