From c5757c47e22e138e6ef98a22e2a21ca22518b918 Mon Sep 17 00:00:00 2001 From: Bachir Soussi Chiadmi Date: Tue, 3 Nov 2020 11:23:49 +0100 Subject: [PATCH] added node container for webpack build --- Docker/npm/Dockerfile | 30 ++++++++++++++++++++++++++++++ Docker/npm/bashrc | 3 +++ Docker/npm/client-entrypoint.sh | 13 +++++++++++++ Docker/npm/inputrc | 2 ++ Makefile | 3 +++ docker-compose.yml | 10 ++++++++++ 6 files changed, 61 insertions(+) create mode 100644 Docker/npm/Dockerfile create mode 100644 Docker/npm/bashrc create mode 100644 Docker/npm/client-entrypoint.sh create mode 100644 Docker/npm/inputrc diff --git a/Docker/npm/Dockerfile b/Docker/npm/Dockerfile new file mode 100644 index 0000000..8915447 --- /dev/null +++ b/Docker/npm/Dockerfile @@ -0,0 +1,30 @@ +FROM node:lts-alpine + +RUN apk update && apk --no-cache add shadow && \ + usermod -u 1001 node && \ + groupmod -g 1001 node + +RUN find / -group 1000 -exec chgrp -h node {} \; +RUN find / -user 1000 -exec chown -h node {} \; + +ARG USER_UID +ARG USER_UNAME +ARG USER_GID +ARG USER_GNAME + + +# RUN addgroup -g 1000 gdp && \ + # adduser -h /home/gdp -D -u 1000 gdp && \ +RUN adduser -u ${USER_UID} -G users -s /bin/sh -D ${USER_UNAME} + # chown -R gdp:gdp /home/gdp + +USER ${USER_UNAME} + +COPY ./bashrc /home/${USER_UNAME}/.bashrc +COPY ./inputrc /home/${USER_UNAME}/.inputrc + +COPY ./client-entrypoint.sh /usr/local/bin +USER root +RUN chmod +x /usr/local/bin/client-entrypoint.sh +USER ${USER_UNAME} +CMD ["/bin/sh","/usr/local/bin/client-entrypoint.sh"] diff --git a/Docker/npm/bashrc b/Docker/npm/bashrc new file mode 100644 index 0000000..c5b03d2 --- /dev/null +++ b/Docker/npm/bashrc @@ -0,0 +1,3 @@ +PS1='\e[36m\e[1mNODE\e[0m:\e[90m\w\e[0m\n$ ' +bind '"\e[A": history-search-backward' +bind '"\e[B": history-search-forward' diff --git a/Docker/npm/client-entrypoint.sh b/Docker/npm/client-entrypoint.sh new file mode 100644 index 0000000..34f3a88 --- /dev/null +++ b/Docker/npm/client-entrypoint.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# cat /etc/passwd|grep 1000 +cd /app + +echo "Cleaning node_modules" +rm -rf node_modules + +echo "Npm install" +npm install + +echo "Run npm dev" +npm run dev diff --git a/Docker/npm/inputrc b/Docker/npm/inputrc new file mode 100644 index 0000000..db8d91d --- /dev/null +++ b/Docker/npm/inputrc @@ -0,0 +1,2 @@ +set show-all-if-ambiguous on +set completion-ignore-case on diff --git a/Makefile b/Makefile index 43937e9..50467b4 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,9 @@ down: exec_php: docker exec -it materiod8_php_1 bash +exec_npm: + docker exec -it materiod8_npm_1 sh + exec_mysql: docker exec -it materiod8_mysql_1 bash diff --git a/docker-compose.yml b/docker-compose.yml index fb4089d..a1fc950 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -156,6 +156,15 @@ services: depends_on: - php-legacy + npm: + build: ./Docker/npm + user: ${USER_UID}:${USER_GID} + volumes: + - "${PROJECT_ROOT}:/app" + - npm-user-data:/home/${USER_UNAME} + ports: + - 8788:8788 + working_dir: "/app" volumes: php-user-data: @@ -166,6 +175,7 @@ volumes: redis-legacy-data: solr-cores-legacy: solr-cores: + npm-user-data: networks: database: