Add dockerfile and docker-compose setup.
This commit is contained in:
1 parent
bf68707ff2
commit
d3d05c42bc
5 files changed
+131
No files matched your search
+50
@@ -0,0 +1,50 @@
|
||||
# First stage of multi-stage build
|
||||
# Installs Meteor and builds node.js version
|
||||
# This stage is named 'builder'
|
||||
# The data for this intermediary image is not included
|
||||
# in the final image.
|
||||
FROM node:8.10.0-slim as builder
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
g++ \
|
||||
build-essential
|
||||
|
||||
RUN curl https://install.meteor.com/ | sh
|
||||
|
||||
# Create a non-root user
|
||||
RUN useradd -ms /bin/bash user
|
||||
USER user
|
||||
ADD --chown=user:user . /home/user/Viewers
|
||||
|
||||
WORKDIR /home/user/Viewers/OHIFViewer
|
||||
|
||||
RUN meteor npm install
|
||||
ENV METEOR_PACKAGE_DIRS=../Packages
|
||||
RUN meteor build --directory /home/user/app
|
||||
WORKDIR /home/user/app/bundle/programs/server
|
||||
RUN npm install --production
|
||||
|
||||
# Second stage of multi-stage build
|
||||
# Creates a slim production image for the node.js application
|
||||
#
|
||||
# TODO: Switch to node:8.10.0-alpine for size purposes. I was getting Segmentation Faults from the node
|
||||
# process. There are probably some minor changes to be made to ensure it works.
|
||||
FROM node:8.10.0-slim
|
||||
|
||||
WORKDIR /app
|
||||
COPY --from=builder /home/user/app .
|
||||
|
||||
RUN npm install -g pm2
|
||||
|
||||
ADD dockersupport/app.json .
|
||||
|
||||
ENV ROOT_URL http://localhost:3000
|
||||
ENV PORT 3000
|
||||
ENV NODE_ENV development
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
WORKDIR /app
|
||||
CMD ["pm2-runtime", "app.json"]
|
||||
|
||||
Reference in new issue
Block a user