service-semaphore/Dockerfile

27 lines
738 B
Text
Raw Normal View History

2023-01-24 12:57:24 +00:00
# Using Alpine to keep the images smaller
# Change to using the official NodeJS Alpine container
FROM node:16-alpine
# Pushing all files into image
WORKDIR /app
RUN wget -q https://github.com/NickColley/semaphore/archive/refs/tags/1.0.0.tar.gz \
-O /tmp/semaphore.tar.gz \
2023-01-24 13:19:01 +00:00
&& tar xavf /tmp/semaphore.tar.gz --strip-components 1 \
2023-01-24 12:57:24 +00:00
&& rm -f /tmp/semaphore.tar.gz
# Install Semaphore
RUN yarn --production --pure-lockfile \
&& yarn build \
&& yarn cache clean \
&& rm -rf ./src ./docs ./tests ./bin
# Expose port 4002
EXPOSE 4002
2023-01-24 13:59:15 +00:00
ENV PORT=4002
2023-01-24 12:57:24 +00:00
# Setting run-command, using explicit `node` command
# rather than `yarn` or `npm` to use less memory
# https://github.com/nolanlawson/pinafore/issues/971
2023-01-24 13:59:15 +00:00
CMD ["node", "server.js"]
2023-01-24 12:57:24 +00:00