mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-12-16 21:56:25 -05:00
50 lines
1.6 KiB
Docker
50 lines
1.6 KiB
Docker
FROM node:9.4.0-alpine@sha256:9cd67a00ed111285460a83847720132204185e9321ec35dacec0d8b9bf674adf
|
|
LABEL maintainer="https://github.com/verdaccio/verdaccio"
|
|
|
|
RUN apk --no-cache add openssl && \
|
|
wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64 && \
|
|
chmod +x /usr/local/bin/dumb-init && \
|
|
apk del openssl && \
|
|
apk --no-cache add ca-certificates wget && \
|
|
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-glibc/master/sgerrand.rsa.pub && \
|
|
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-2.25-r0.apk && \
|
|
apk add glibc-2.25-r0.apk
|
|
|
|
ENV APPDIR /usr/local/app
|
|
|
|
WORKDIR $APPDIR
|
|
|
|
ADD . $APPDIR
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
RUN npm config set registry http://registry.npmjs.org/ && \
|
|
yarn global add -s flow-bin@0.52.0 && \
|
|
yarn install --production=false && \
|
|
yarn run lint && \
|
|
yarn run code:build && \
|
|
yarn run build:webui && \
|
|
yarn run test:unit -- --silent true --coverage false --bail && \
|
|
yarn cache clean && \
|
|
yarn install --production=true --pure-lockfile
|
|
|
|
RUN mkdir -p /verdaccio/storage /verdaccio/conf
|
|
|
|
ADD conf/docker.yaml /verdaccio/conf/config.yaml
|
|
|
|
RUN addgroup -S verdaccio && adduser -S -G verdaccio verdaccio && \
|
|
chown -R verdaccio:verdaccio "$APPDIR" && \
|
|
chown -R verdaccio:verdaccio /verdaccio
|
|
|
|
USER verdaccio
|
|
|
|
ENV PORT 4873
|
|
ENV PROTOCOL http
|
|
|
|
EXPOSE $PORT
|
|
|
|
VOLUME ["/verdaccio"]
|
|
|
|
ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]
|
|
|
|
CMD $APPDIR/bin/verdaccio --config /verdaccio/conf/config.yaml --listen $PROTOCOL://0.0.0.0:${PORT}
|