From e4c66aef60b4fab6f843ac66d235ccef7570d9c3 Mon Sep 17 00:00:00 2001 From: linuxbandit Date: Tue, 8 Dec 2020 16:58:37 +0100 Subject: [PATCH] feat: impr dockerfile build speed; use entrypoint --- docker/core/Dockerfile | 30 ++++++++++++++++++------------ docker/core/bootstrap.sh | 4 +++- docker/docker-compose.dev.yml | 2 +- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/docker/core/Dockerfile b/docker/core/Dockerfile index c31cef9c..2862c1ac 100644 --- a/docker/core/Dockerfile +++ b/docker/core/Dockerfile @@ -1,29 +1,35 @@ +# FIXME use alpine FROM node:14 RUN mkdir -p /usr/app/src \ && mkdir -p /usr/app/media \ - && mkdir -p /usr/app/scripts + && mkdir -p /usr/app/scripts \ + && apt-get update \ + && apt-get install netcat -y -RUN apt-get update -RUN apt-get install netcat -y +WORKDIR /usr/app/src -COPY ./docker/core/bootstrap.sh /usr/app/scripts/bootstrap.sh -COPY ./docker/core/wait.sh /usr/app/scripts/wait.sh -COPY . /usr/app/src -RUN mkdir /usr/app/src/state +COPY package.json /usr/app/src RUN chown -R node:node /usr/app -WORKDIR /usr/app/src - USER node ENV NPM_CONFIG_PREFIX=/home/node/.npm-global ENV PATH="/home/node/.npm-global/bin:${PATH}" -RUN npm install -g --loglevel warn nodemon bunyan && npm cache clean --force -RUN npm install --loglevel warn +# FIXME no need for nodemon +RUN npm install -g --loglevel warn nodemon bunyan \ + && npm cache clean --force \ + && npm install --loglevel warn + +COPY --chown=node:node ./docker/core/bootstrap.sh /usr/app/scripts/bootstrap.sh +COPY --chown=node:node ./docker/core/wait.sh /usr/app/scripts/wait.sh +COPY --chown=node:node . /usr/app/src +RUN mkdir /usr/app/src/state + -CMD sh /usr/app/scripts/bootstrap.sh && nodemon -e "js,json" lib/run.js +ENTRYPOINT [ "/usr/app/scripts/bootstrap.sh" ] +CMD ["nodemon -e 'js,json' lib/run.js"] EXPOSE 8084 diff --git a/docker/core/bootstrap.sh b/docker/core/bootstrap.sh index e48ac977..773c6484 100644 --- a/docker/core/bootstrap.sh +++ b/docker/core/bootstrap.sh @@ -4,4 +4,6 @@ npm run db:create echo "Migrating database..." npm run db:migrate echo "Seeding database..." -npm run db:seed \ No newline at end of file +npm run db:seed + +sh -c "${@}" diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 9c29266e..44eb9a93 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -6,7 +6,7 @@ services: context: ./${PATH_CORE}/.. dockerfile: ./docker/core/Dockerfile image: aegee/core:dev - command: sh -c "sh /usr/app/scripts/bootstrap.sh && nodemon -L -e 'js,json' lib/run.js | bunyan --color" + command: "nodemon -L -e 'js,json' lib/run.js | bunyan --color" volumes: - ./${PATH_CORE}/../config/:/usr/app/src/config - ./${PATH_CORE}/../lib/:/usr/app/src/lib