Dockerfile 827 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. FROM alpine:3.9 as build
  2. RUN apk add --no-cache \
  3. fuse3-dev \
  4. gcc \
  5. gpgme-dev \
  6. libc-dev \
  7. make \
  8. pkgconf
  9. RUN adduser -S build
  10. USER build
  11. COPY --chown=build:nogroup Makefile /rgpgfs/
  12. COPY --chown=build:nogroup src /rgpgfs/src
  13. WORKDIR /rgpgfs
  14. RUN make
  15. FROM build as test
  16. COPY --chown=build:nogroup tests /rgpgfs/tests
  17. RUN make tests/str && tests/str
  18. FROM alpine:3.9 as runtime
  19. RUN apk add --no-cache \
  20. fuse3 \
  21. gpgme
  22. RUN echo user_allow_other >> /etc/fuse.conf
  23. RUN adduser -S encrypt
  24. USER encrypt
  25. COPY --from=build /rgpgfs/rgpgfs /usr/local/bin/
  26. COPY --chown=encrypt:nogroup docker/ash_history /home/encrypt/.ash_history
  27. FROM runtime as unattended
  28. ENV RECIPIENT= \
  29. SOURCE_DIR=/plain \
  30. CIPHER_DIR=/encrypted
  31. COPY docker/rgpgfs_unattended.sh /
  32. CMD ["/rgpgfs_unattended.sh"]