padloc/Dockerfile-server

37 lines
1.1 KiB
Plaintext

FROM node:16.13.1
EXPOSE 3000
ENV PL_ASSETS_DIR=/assets
ENV PL_ATTACHMENTS_DIR=/attachments
WORKDIR /padloc
# Only copy over the packages files of all required packages.
# This will ensure that we don't have to install all dependencies
# again if any source files change.
COPY package*.json lerna.json tsconfig.json ./
COPY packages/server/package*.json ./packages/server/
COPY packages/core/package*.json ./packages/core/
COPY packages/locale/package*.json ./packages/locale/
# Install dependencies and bootstrap packages
RUN npm ci --unsafe-perm
# Now copy over source files and assets
COPY packages/server/src ./packages/server/src
COPY packages/server/tsconfig.json ./packages/server/
COPY packages/core/src ./packages/core/src
COPY packages/core/vendor ./packages/core/vendor
COPY packages/core/tsconfig.json ./packages/core/
COPY packages/locale/src ./packages/locale/src
COPY packages/locale/res ./packages/locale/res
COPY packages/locale/tsconfig.json ./packages/locale/
COPY assets /assets
WORKDIR /padloc/packages/server
ENTRYPOINT ["npm", "run"]
CMD ["start"]