diff --git a/Dockerfile b/Dockerfile index 8a5b7ae9bbee..c7cc7d6d1c81 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,11 +8,13 @@ ARG NODE_ENV ENV NODE_ENV $NODE_ENV COPY --chown=node:node install/package.json /usr/src/app/package.json +COPY --chown=node:node install/launch.sh /usr/src/app/launch.sh USER node RUN npm install --only=prod && \ - npm cache clean --force + npm cache clean --force && \ + touch active_modules COPY --chown=node:node . /usr/src/app @@ -22,4 +24,4 @@ ENV NODE_ENV=production \ EXPOSE 4567 -CMD test -n "${SETUP}" && ./nodebb setup || node ./nodebb build; node ./nodebb start +CMD ./launch.sh diff --git a/install/launch.sh b/install/launch.sh new file mode 100755 index 000000000000..26fe8cd6c067 --- /dev/null +++ b/install/launch.sh @@ -0,0 +1,18 @@ +echo "# [Optional] Install " +if test -n "${SETUP}" +then + ./nodebb setup +fi + +echo "# Checking required modules from ./active_modules" +while read -r module; do + echo "Installing module $module" + npm install "$module" + ./nodebb activate $module +done < ./active_modules + +echo "# Building nodebb" +node ./nodebb build + +echo "# Launching application" +./nodebb start