# Stage 0, "build-stage", based on Node.js, to build and compile Angular FROM node:6.11.1 as build-stage RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade # Installing supervisord RUN apt-get install -y supervisor ADD ./docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf RUN DEBIAN_FRONTEND=noninteractive apt-get -yq install net-tools nginx lsb-release RUN rm -f /etc/nginx/fastcgi.conf /etc/nginx/fastcgi_params && \ rm -f /etc/nginx/snippets/fastcgi-php.conf /etc/nginx/snippets/snakeoil.conf \ rm -f /etc/nginx/sites-available/default \ rm -f /etc/nginx/sites-enabled/default COPY /nginx/default.conf /etc/nginx/sites-available COPY /nginx/default.conf /etc/nginx/sites-enabled RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 RUN echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | tee /etc/apt/sources.list.d/mongodb-org-3.4.list RUN apt-get update && apt-get -yq install mongodb-org && apt-get -yq install redis-server RUN mongod --fork --logpath ~/log/mongodb.log # sudo ./mongodb/bin/mongodump --host localhost --port 27017 --db atlasvoyages-dev --out ./ # sudo ./mongodb/bin/mongodump --host localhost --port 27017 --db atlasvoyages-dev --gzip --archive=atlasvoyages-dev.archive WORKDIR /atlasvoyages COPY package*.json /atlasvoyages/ RUN npm install --unsafe-perm=true RUN npm install --global grunt-cli COPY ./ /atlasvoyages/ RUN mongorestore --host localhost --port 27017 --gzip --archive=atlasvoyages-dev.archive RUN find ./node_modules -maxdepth 1 -name 'pine*' -type d \( ! -name . \) -exec bash -c "cd '{}' && npm i --unsafe-perm=true && grunt build:dist" \; \ find ./node_modules -maxdepth 1 -name 'hermes*' -type d \( ! -name . \) -exec bash -c "cd '{}' && npm i --unsafe-perm=true && grunt build:dist" \; \ find ./node_modules -maxdepth 1 -name 'theme-atlasvoyages*' -type d \( ! -name . \) -exec bash -c "cd '{}' && npm i --unsafe-perm=true && grunt build:dist" \; RUN echo '\n' | grunt pine:setup RUN grunt pine:copy # expose port 80 443 EXPOSE 80 EXPOSE 443 # USER postgres ENTRYPOINT ["/usr/bin/supervisord"]