1
0
inception/srcs/docker/nginx/Dockerfile
2025-02-22 17:11:06 +01:00

41 lines
1.3 KiB
Docker

FROM scratch
ADD docker/alpine/alpine-minirootfs-3.21.2-x86_64.tar.gz /
LABEL version="0.1"
LABEL maintainer="KeyZox"
COPY go.mod /build/go.mod
COPY cmd /build/cmd
COPY internal /build/internal
RUN set -x \
&& addgroup -g 101 -S nginx\
&& adduser -S -D -H -u 101 -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx \
&& apk add --no-cache go nginx openssl tzdata envsubst curl \
&& cd /build \
&& go get git.keyzox.me/42_adjoly/inception/cmd/nginx/entrypoint \
&& go build git.keyzox.me/42_adjoly/inception/cmd/nginx/entrypoint \
&& cp /build/entrypoint /docker-entrypoint \
&& chmod +x /docker-entrypoint \
&& apk del go \
&& ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log \
&& rm -Rf /build \
&& rm -rf /var/cache/apk/* \
&& mkdir -p /var/www/html \
&& mkdir -p /etc/nginx/conf.d \
&& mkdir /docker-entrypoint.d
VOLUME /etc/nginx/templates
VOLUME /docker-entrypoint.d
COPY docker/nginx/health.conf /etc/nginx/http.d/health.conf
ENTRYPOINT [ "/docker-entrypoint" ]
WORKDIR /etc/nginx
STOPSIGNAL SIGQUIT
EXPOSE 80
CMD [ "nginx", "-g", "daemon off;" ]
HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=3s --start-interval=2s CMD curl http://127.0.0.1:80/health || exit 1