29 lines
695 B
Docker
29 lines
695 B
Docker
# 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
|