FROM mhart/alpine-node:14 as base WORKDIR /app COPY package*.json ./ RUN npm install --only=production --unsafe-perm FROM mhart/alpine-node:slim-14 as api ARG APP_VERSION LABEL maintainer="Louis Capitanchik <louis@jetsam.tech>" LABEL description="The Jetsam API server" LABEL version=$APP_VERSION RUN apk add --no-cache bash WORKDIR /app COPY --from=base /app/node_modules ./node_modules COPY server.js . COPY worker.js . COPY run.js . COPY .sequelizerc . COPY src ./src COPY scripts ./scripts COPY database ./database COPY views ./views COPY public ./public COPY package.json ./package.json # Add more COPY lines here as resources are added ENV NODE_PATH=/app/src ARG PORT=8000 ENV PORT ${PORT} EXPOSE ${PORT} ENV WEB_URL="https://app.jetsam.tech" ENV APP_KEY="" ENV DATABASE_HOST="" ENV DATABASE_NAME="" ENV DATABASE_USER="" ENV DATABASE_PASS="" ENV MAIL_DRIVER="" ENV MAIL_FROM_ADDRESS="" ENV MAIL_FROM_NAME="" ENV SENDGRID_KEY="" ENV POSTMARK_KEY="" ENV GCS_BUCKET="" ENV GCS_CREDENTIALS_FILE="" ENV SENTRY_DSN="" ENV SLACK_WEBHOOK="" ENV NODE_ENV="production" CMD ["node", "server"]