Dockerfile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. FROM docker.io/alpine:3.14.0 as unpack
  2. COPY ./UIFlow-Desktop-IDE-v1.0.16_Linux.zip /
  3. RUN unzip /*.zip -d /opt/uiflow-desktop-ide
  4. FROM docker.io/debian:10.10-slim
  5. # create home dir to fix:
  6. # > Error: Failed to get 'appData' path
  7. # > at Object.<anonymous> (/opt/uiflow-desktop-ide/bin/resources/electron.asar/browser/init.js:148:39)
  8. RUN apt-get update \
  9. && apt-get install --yes --no-install-recommends \
  10. libasound2=1.1.8-1 \
  11. libglib2.0-0=2.58.3-2+deb10u3 \
  12. libgtk-3-0=3.24.5-1 \
  13. libnss3=2:3.42.1-1+deb10u3 \
  14. libx11-xcb1=2:1.6.7-1+deb10u2 \
  15. libxss1=1:1.2.3-1 \
  16. libxtst6=2:1.2.3-1 \
  17. tini=0.18.0-1 \
  18. && rm -rf /var/lib/apt/lists/* \
  19. && useradd --create-home uiflow \
  20. && find / -xdev -type f -perm /u+s -exec chmod -c u-s {} \; \
  21. && find / -xdev -type f -perm /g+s -exec chmod -c g-s {} \;
  22. ENTRYPOINT ["/usr/bin/tini", "--"]
  23. COPY --from=unpack /opt/uiflow-desktop-ide /opt/uiflow-desktop-ide
  24. USER uiflow
  25. # ~/.config/UIFlow-Desktop-IDE/ & ~/.cache/fontconfig/
  26. VOLUME /home/uiflow
  27. WORKDIR /opt/uiflow-desktop-ide
  28. CMD ["bin/uiflow-desktop-ide"]
  29. LABEL podman-run-x11="podman run --name uiflow --rm -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --read-only -v uiflow_home:/home/uiflow --cap-drop ALL --security-opt no-new-privileges \${IMAGE}"
  30. # https://github.com/opencontainers/image-spec/blob/v1.0.1/annotations.md
  31. ARG REVISION=
  32. LABEL org.opencontainers.image.title="m5stack's uiflow desktop ide" \
  33. org.opencontainers.image.source="https://git.hammerle.me/fphammerle/docker-m5stack-uiflow-desktop-ide" \
  34. org.opencontainers.image.revision="$REVISION"