# Using Alpine to keep the images smaller FROM arm64v8/node:alpine ARG TAG ARG VERSION ARG BUILD_DATE ARG GIT_REPOSITORY # Pushing all files into image WORKDIR /app ADD $GIT_REPOSITORY/archive/v$TAG.tar.gz /app RUN tar zxf v$TAG.tar.gz \ && mv pinafore-$TAG/* . \ && rm -rf pinafore-$TAG # Install Pinafore RUN yarn --production --pure-lockfile --network-timeout=30000 \ && yarn build --network-timeout=30000 \ && yarn cache clean \ && rm -rf ./src ./docs ./tests ./bin # Expose port 4002 EXPOSE 4002 # Setting run-command, using explicit `node` command # rather than `yarn` or `npm` to use less memory # https://github.com/nolanlawson/pinafore/issues/971 CMD PORT=4002 node server.js