1234567891011121314151617181920212223242526272829303132333435363738 |
- FROM --platform=linux/arm64/v8 ubuntu:latest
- WORKDIR /app
- EXPOSE 80 443
- # COPY resources/development/sources.list /etc/apt/sources.list
- ENV GO_VERSION="1.21.4"
- ENV GO_ARCH="linux-arm64"
- ENV GO_TAR="go${GO_VERSION}.${GO_ARCH}.tar.gz"
- ENV PATH="${PATH}:/usr/local/go/bin"
- RUN set -x \
- # create nginx user/group first, to be consistent throughout docker variants
- && addgroup --system --gid 101 nginx \
- && adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 101 nginx \
- && apt update && apt install gcc curl gnupg2 ca-certificates lsb-release ubuntu-keyring wget -y \
- && curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
- | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null \
- && echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
- http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
- | tee /etc/apt/sources.list.d/nginx.list
- RUN echo "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | tee /etc/apt/preferences.d/99nginx \
- && apt update && apt install nginx -y
- RUN wget https://go.dev/dl/${GO_TAR} && \
- rm -rf /usr/local/go && tar -C /usr/local -xzf ${GO_TAR} && rm -f ${GO_TAR}
- RUN go install github.com/cosmtrek/air@latest
- COPY resources/development/entrypoint.sh /entrypoint.sh
- RUN chmod a+x /entrypoint.sh \
- && rm -f /etc/nginx/conf.d/default.conf \
- && rm -f /usr/etc/nginx/conf.d/default.conf
- CMD ["/entrypoint.sh"]
|