1
0

Dockerfile 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. FROM ubuntu:22.04 AS devinstall
  2. ARG TZ
  3. ARG DEVENV_LOCALE
  4. ARG DEVENV_USER
  5. ARG DEVENV_PASS
  6. ARG DEVENV_EMAIL
  7. ARG DEVENV_MOUNT_PATH
  8. ARG DEVENV_GIT_DEF_BRANCH
  9. ARG DEVENV_GH_USER
  10. ARG DEVENV_GH_PASS
  11. ARG DEVENV_SH_USER
  12. ARG DEVENV_SH_PASS
  13. ENV TZ=$DEVENV_TZ
  14. ENV DEVENV_LOCALE=$DEVENV_LOCALE
  15. ENV DEVENV_USER=$DEVENV_USER
  16. ENV DEVENV_PASS=$DEVENV_PASS
  17. ENV DEVENV_EMAIL=$DEVENV_EMAIL
  18. ENV DEVENV_MOUNT_PATH=$DEVENV_MOUNT_PATH
  19. ENV DEVENV_GIT_DEF_BRANCH=$DEVENV_GIT_DEF_BRANCH
  20. ENV DEVENV_GH_USER=$DEVENV_GH_USER
  21. ENV DEVENV_GH_PASS=$DEVENV_GH_PASS
  22. ENV DEVENV_SH_USER=$DEVENV_SH_USER
  23. ENV DEVENV_SH_PASS=$DEVENV_SH_PASS
  24. ENV LANG=$DEVENV_LOCALE
  25. ENV NVIM_LISTEN_ADDRESS=/home/${DEVENV_USER}/nvimsocket
  26. ENV DEBIAN_FRONTEND=noninteractive
  27. COPY base/build-install.sh /build-install.sh
  28. RUN /build-install.sh
  29. FROM devinstall AS devbase
  30. COPY base/build-root.sh /build-root.sh
  31. RUN /build-root.sh
  32. FROM devbase AS devinit
  33. USER ${DEVENV_USER}
  34. WORKDIR /home/${DEVENV_USER}
  35. RUN sudo chown -R ${DEVENV_USER}:${DEVENV_USER} /home/${DEVENV_USER}
  36. COPY base/build-init-user.sh /home/${DEVENV_USER}/build-init-user.sh
  37. RUN ./build-init-user.sh
  38. FROM devinit AS devenv
  39. USER ${DEVENV_USER}
  40. WORKDIR /home/${DEVENV_USER}
  41. COPY dotfiles/setup.sh /home/${DEVENV_USER}/setup.sh
  42. COPY base/init.vim /home/${DEVENV_USER}/.config/nvim/init.vim
  43. COPY dotfiles/init.vim /home/${DEVENV_USER}/dotfiles/init.vim
  44. COPY base/build-home.sh /home/${DEVENV_USER}/build-home.sh
  45. RUN /home/${DEVENV_USER}/build-home.sh
  46. COPY base/zshrc /home/${DEVENV_USER}/.zshrc
  47. COPY dotfiles/zshrc /home/${DEVENV_USER}/dotfiles/zshrc
  48. COPY base/start.sh /home/${DEVENV_USER}/start.sh
  49. COPY base/open.sh /home/${DEVENV_USER}/open.sh
  50. VOLUME /home/${DEVENV_USER}/host
  51. ENTRYPOINT ["./start.sh"]