dev.Dockerfile 998 B

123456789101112131415161718192021222324252627282930
  1. FROM --platform=linux/arm64/v8 ubuntu:latest
  2. WORKDIR /app
  3. EXPOSE 80 443
  4. # COPY resources/development/sources.list /etc/apt/sources.list
  5. ENV GO_VERSION="1.21.0"
  6. ENV GO_ARCH="linux-arm64"
  7. ENV GO_TAR="go${GO_VERSION}.${GO_ARCH}.tar.gz"
  8. ENV PATH="${PATH}:/usr/local/go/bin"
  9. RUN set -x \
  10. # create nginx user/group first, to be consistent throughout docker variants
  11. && addgroup --system --gid 101 nginx \
  12. && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 101 nginx \
  13. && apt update && apt install -y wget nginx gcc curl
  14. RUN wget https://go.dev/dl/${GO_TAR} && \
  15. rm -rf /usr/local/go && tar -C /usr/local -xzf ${GO_TAR} && rm -f ${GO_TAR}
  16. RUN go install github.com/cosmtrek/air@latest
  17. COPY resources/development/entrypoint.sh /entrypoint.sh
  18. RUN chmod a+x /entrypoint.sh \
  19. && rm -f /etc/nginx/conf.d/default.conf \
  20. && rm -f /usr/etc/nginx/conf.d/default.conf
  21. CMD ["/entrypoint.sh"]