Created
September 19, 2021 15:13
-
-
Save cigzigwon/4e74dab4bfd2076f8e27a70fa005a600 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM nodesource/nsolid:latest | |
LABEL maintainer "Joe McCann <[email protected]>" | |
# Install our dependencies (libfontconfig for phantomjs) | |
RUN apt-get update && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \ | |
bzip2 \ | |
ca-certificates \ | |
curl \ | |
git \ | |
libfontconfig \ | |
ttf-wqy-microhei \ | |
ttf-wqy-zenhei \ | |
software-properties-common \ | |
gconf-service \ | |
libasound2 \ | |
libatk1.0-0 \ | |
libatk-bridge2.0-0 \ | |
libc6 \ | |
libcairo2 \ | |
libcups2 \ | |
libdbus-1-3 \ | |
libexpat1 \ | |
libfontconfig1 \ | |
libgcc1 \ | |
libgconf-2-4 \ | |
libgdk-pixbuf2.0-0 \ | |
libglib2.0-0 \ | |
libgtk-3-0 \ | |
libnspr4 \ | |
libpango-1.0-0 \ | |
libpangocairo-1.0-0 \ | |
libstdc++6 \ | |
libx11-6 \ | |
libx11-xcb1 \ | |
libxcb1 \ | |
libxcomposite1 \ | |
libxcursor1 \ | |
libxdamage1 \ | |
libxext6 \ | |
libxfixes3 \ | |
libxi6 \ | |
libxrandr2 \ | |
libxrender1 \ | |
libxss1 \ | |
libxtst6 \ | |
fonts-liberation \ | |
libappindicator1 \ | |
libnss3 \ | |
lsb-release \ | |
xdg-utils \ | |
wget \ | |
&& rm -rf /var/lib/apt/lists/* | |
# should fix dir context issue w/builds (ALWAYS DO THIS!!!) | |
WORKDIR /build | |
# this is faster via npm run build-docker | |
COPY package.json ./package.json | |
RUN npm install --devDependencies \ | |
&& npm cache verify | |
# Copy source over and create configs dir | |
# (THESE WOULD BE HAX!!!) | |
#RUN rm -rf /configs | |
#RUN mkdir -p /configs | |
COPY . . | |
RUN echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/userns.conf | |
RUN adduser --disabled-password --gecos '' dillinger | |
RUN chown -R dillinger:dillinger /build/public | |
USER dillinger | |
EXPOSE 8080 | |
# (TYPICALLY BELONGS AT TOP OF FILE!!!) | |
ENV NODE_ENV=production | |
CMD ["npm", "start"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
WORKDIR is ensuring you don't pull the rug out from under your feet. You shouldn't mount resources into void and thusly don't need to remove and re-add stuff. Because that's nonsense!