1
0

Dockerfile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. ENV TZ=$DEVENV_TZ
  10. ENV DEVENV_LOCALE=$DEVENV_LOCALE
  11. ENV DEVENV_USER=$DEVENV_USER
  12. ENV DEVENV_PASS=$DEVENV_PASS
  13. ENV DEVENV_EMAIL=$DEVENV_EMAIL
  14. ENV DEVENV_MOUNT_PATH=$DEVENV_MOUNT_PATH
  15. ENV DEVENV_GIT_DEF_BRANCH=$DEVENV_GIT_DEF_BRANCH
  16. ENV LANG=$DEVENV_LOCALE
  17. ENV NVIM_LISTEN_ADDRESS=/home/${DEVENV_USER}/nvimsocket
  18. ENV DEBIAN_FRONTEND=noninteractive
  19. COPY base/build-install.sh /build-install.sh
  20. RUN /build-install.sh
  21. FROM devinstall AS devbase
  22. COPY base/build-root.sh /build-root.sh
  23. RUN /build-root.sh
  24. FROM devbase AS devinit
  25. USER ${DEVENV_USER}
  26. WORKDIR /home/${DEVENV_USER}
  27. RUN sudo chown -R ${DEVENV_USER}:${DEVENV_USER} /home/${DEVENV_USER}
  28. COPY base/build-init-user.sh /home/${DEVENV_USER}/build-init-user.sh
  29. RUN ./build-init-user.sh
  30. FROM devinit AS devenv
  31. USER ${DEVENV_USER}
  32. WORKDIR /home/${DEVENV_USER}
  33. COPY dotfiles/setup.sh /home/${DEVENV_USER}/setup.sh
  34. COPY base/init.vim /home/${DEVENV_USER}/.config/nvim/init.vim
  35. COPY dotfiles/init.vim /home/${DEVENV_USER}/dotfiles/init.vim
  36. COPY base/build-home.sh /home/${DEVENV_USER}/build-home.sh
  37. RUN /home/${DEVENV_USER}/build-home.sh
  38. COPY base/zshrc /home/${DEVENV_USER}/.zshrc
  39. COPY dotfiles/zshrc /home/${DEVENV_USER}/dotfiles/zshrc
  40. COPY base/start.sh /home/${DEVENV_USER}/start.sh
  41. COPY base/open.sh /home/${DEVENV_USER}/open.sh
  42. VOLUME /home/${DEVENV_USER}/host
  43. ENTRYPOINT ["./start.sh"]