Dockerfile 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # !!! Don't try to build this Dockerfile directly, run it through bin/build-docker.sh script !!!
  2. FROM node:18.18.2-alpine
  3. # Create app directory
  4. WORKDIR /usr/src/app
  5. # Bundle app source
  6. COPY . .
  7. COPY server-package.json package.json
  8. # Install app dependencies
  9. RUN set -x \
  10. && apk add --no-cache --virtual .build-dependencies \
  11. autoconf \
  12. automake \
  13. g++ \
  14. gcc \
  15. libtool \
  16. make \
  17. nasm \
  18. libpng-dev \
  19. python3 \
  20. && npm install \
  21. && apk del .build-dependencies \
  22. && npm run webpack \
  23. && npm prune --omit=dev \
  24. && cp src/public/app/share.js src/public/app-dist/. \
  25. && cp -r src/public/app/doc_notes src/public/app-dist/. \
  26. && rm -rf src/public/app
  27. # Some setup tools need to be kept
  28. RUN apk add --no-cache su-exec shadow
  29. # Add application user and setup proper volume permissions
  30. RUN adduser -s /bin/false node; exit 0
  31. # Start the application
  32. EXPOSE 8080
  33. CMD [ "./start-docker.sh" ]
  34. HEALTHCHECK --start-period=10s CMD exec su-exec node node docker_healthcheck.js