crafatar/crafatar

View on GitHub
Dockerfile

Summary

Maintainability
Test Coverage
FROM node:12-alpine AS builder

RUN apk --no-cache add git python3 build-base redis cairo-dev pango-dev jpeg-dev giflib-dev

RUN adduser -D app
USER app

COPY --chown=app package.json package-lock.json /home/app/crafatar/
WORKDIR /home/app/crafatar
RUN npm install

COPY --chown=app . .
RUN mkdir -p images/faces images/helms images/skins images/renders images/capes

ARG VERBOSE_TEST
ARG DEBUG
RUN nohup redis-server & npm test


FROM node:12-alpine
RUN apk --no-cache add cairo pango jpeg giflib
RUN adduser -D app
USER app
RUN mkdir /home/app/crafatar
WORKDIR /home/app/crafatar
RUN mkdir -p images/faces images/helms images/skins images/renders images/capes

COPY --chown=app --from=builder /home/app/crafatar/node_modules/ node_modules/
COPY --chown=app package.json www.js config.js ./
COPY --chown=app lib/ lib/

VOLUME /home/app/crafatar/images
ENV NODE_ENV production
ENTRYPOINT ["npm", "start"]
EXPOSE 3000