Dockerfile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. FROM azul/zulu-openjdk:8
  2. RUN apt update -y && apt upgrade -y && apt dist-upgrade -y
  3. RUN apt install -y curl unzip && apt clean
  4. RUN groupadd --gid 1000 nonroot
  5. RUN useradd --uid 1000 -r --gid 1000 nonroot
  6. COPY www /app_build/www
  7. COPY build-docker.sh /app_build
  8. COPY build.sh /app_build
  9. COPY src /app_build/src
  10. COPY build.gradle /app_build
  11. COPY settings.gradle /app_build
  12. # Install gradle
  13. RUN curl https://downloads.gradle-dn.com/distributions/gradle-6.7-bin.zip -o /tmp/gradle.zip
  14. RUN if [ "`sha256sum /tmp/gradle.zip | cut -d' ' -f1`" != "8ad57759019a9233dc7dc4d1a530cefe109dc122000d57f7e623f8cf4ba9dfc4" ];\
  15. then \
  16. echo "Error. This version of gradle is corrupted."; \
  17. exit 1;\
  18. fi && \
  19. mkdir -p /tmp/gradle && \
  20. unzip -q -d /tmp/gradle /tmp/gradle.zip &&\
  21. cp -Rf /tmp/gradle/gradle-*/* / &&\
  22. rm -Rf /tmp/gradle && rm -f /tmp/gradle.zip && \
  23. echo "Installed gradle `gradle -v`"
  24. # Build
  25. RUN cd /app_build &&\
  26. ./build.sh && \
  27. mv dist /app && \
  28. cd / && \
  29. rm -Rf /app_build
  30. RUN chown 1000:1000 /app
  31. USER nonroot
  32. WORKDIR /app
  33. ENTRYPOINT [ "java","-Djava.io.tmpdir=/tmp/apptmp","-jar","SoftwareStore.jar" ]
  34. # Writable volumes
  35. VOLUME /app/www/images/database
  36. VOLUME /app/config
  37. # tmpfs
  38. VOLUME /app/sitemap
  39. # tmpfs
  40. VOLUME /tmp/apptmp