Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

refactor(dockerfile): builder multistage pattern & random uid user support #35

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
bufferoverflow merged 1 commit into master from refactor/docker-multistage-build
Jul 31, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 20 additions & 27 deletions Dockerfile
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,41 +1,34 @@
FROM node:10-alpine
LABEL maintainer="https://github.com/bufferoverflow/verdaccio-gitlab"

RUN apk --no-cache add wget openssl dumb-init && \
apk del openssl

ENV APPDIR /usr/local/app
FROM node:10-alpine as builder

WORKDIR $APPDIR
WORKDIR /opt/verdaccio-gitlab-build
COPY . .

ADD . $APPDIR
ENV NODE_ENV=production \
VERDACCIO_BUILD_REGISTRY=https://registry.npmjs.org/

ENV NODE_ENV=production

RUN npm config set registry https://registry.npmjs.org/ && \
RUN yarn config set registry $VERDACCIO_BUILD_REGISTRY && \
yarn install --production=false && \
yarn build && \
yarn cache clean && \
yarn install --production=true --pure-lockfile && \
yarn add file:.

RUN mkdir -p /verdaccio/storage /verdaccio/conf
yarn install --production=true --pure-lockfile

ADD docker-verdaccio-gitlab.config.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
FROM verdaccio/verdaccio:4.x-next
LABEL maintainer="https://github.com/bufferoverflow/verdaccio-gitlab"

ENV PORT 4873
ENV PROTOCOL http
# Go back to root to be able to install the plugin
USER root

EXPOSE $PORT
COPY --from=builder /opt/verdaccio-gitlab-build/lib /opt/verdaccio-gitlab/lib
COPY --from=builder /opt/verdaccio-gitlab-build/package.json /opt/verdaccio-gitlab/package.json
COPY --from=builder /opt/verdaccio-gitlab-build/node_modules /opt/verdaccio-gitlab/node_modules

VOLUME ["/verdaccio"]
ADD conf/docker.yaml /verdaccio/conf/config.yaml

ENTRYPOINT ["/usr/bin/dumb-init", "--"]
# Inherited from parent image
WORKDIR $VERDACCIO_APPDIR
RUN ln -s /opt/verdaccio-gitlab/lib /verdaccio/plugins/verdaccio-gitlab

CMD $APPDIR/node_modules/.bin/verdaccio --config /verdaccio/conf/config.yaml --listen $PROTOCOL://0.0.0.0:${PORT}
# Inherited from parent image
USER $VERDACCIO_USER_UID
4 changes: 3 additions & 1 deletion docker-verdaccio-gitlab.config.yaml → conf/docker.yaml
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
storage: /verdaccio/storage
storage: /verdaccio/storage/data

plugins: /verdaccio/plugins

listen:
- 0.0.0.0:4873
Expand Down
5 changes: 2 additions & 3 deletions docker-compose.yml
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,19 @@ services:
- gitlab-data:/var/opt/gitlab

verdaccio:
image: verdaccio/verdaccio
restart: always
ports:
- '4873:4873'
build:
context: .
dockerfile: Dockerfile
volumes:
- verdaccio:/verdaccio
- verdaccio-storage:/verdaccio/storage
links:
- gitlab

volumes:
gitlab-config:
gitlab-log:
gitlab-data:
verdaccio:
verdaccio-storage:

AltStyle によって変換されたページ (->オリジナル) /