Dockerfile 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. FROM node:16.13.0-alpine as build
  2. # Create link to node on amd64 so that corepack can find it
  3. RUN if [ "$(uname -m)" == "aarch64" ]; then mkdir -p /usr/local/sbin/ && ln -s /usr/local/bin/node /usr/local/sbin/node; fi
  4. WORKDIR /app
  5. COPY package.json .yarnrc.yml /app/
  6. COPY .yarn /app/.yarn
  7. COPY packages/@uppy/companion /app/packages/@uppy/companion
  8. RUN apk --update add --virtual native-dep \
  9. make gcc g++ python3 libgcc libstdc++ git && \
  10. (cd /app && corepack yarn workspaces focus @uppy/companion) && \
  11. apk del native-dep
  12. RUN cd /app && corepack yarn workspace @uppy/companion build
  13. # Now remove all non-prod dependencies for a leaner image
  14. RUN cd /app && corepack yarn workspaces focus @uppy/companion --production
  15. FROM node:16.13.0-alpine
  16. WORKDIR /app
  17. # copy required files from build stage.
  18. COPY --from=build /app/packages/@uppy/companion/bin /app/bin
  19. COPY --from=build /app/packages/@uppy/companion/lib /app/lib
  20. COPY --from=build /app/packages/@uppy/companion/package.json /app/package.json
  21. COPY --from=build /app/packages/@uppy/companion/node_modules /app/node_modules
  22. ENV PATH "${PATH}:/app/node_modules/.bin"
  23. CMD ["node","/app/bin/companion"]
  24. # This can be overruled later
  25. EXPOSE 3020