2
0

Dockerfile 929 B

12345678910111213141516171819202122232425262728293031323334353637
  1. FROM nginx:1.24-alpine
  2. LABEL maintainer="Mark Shust <mark@shust.com>"
  3. ARG APP_ID=1000
  4. RUN addgroup -g "$APP_ID" app \
  5. && adduser -G app -u "$APP_ID" -h /var/www -s /bin/bash -S app
  6. RUN touch /var/run/nginx.pid
  7. RUN mkdir /sock
  8. RUN apk add --no-cache \
  9. curl \
  10. nss-tools \
  11. openssl
  12. RUN mkdir /etc/nginx/certs \
  13. && echo -e "\n\n\n\n\n\n\n" | openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/certs/nginx.key -out /etc/nginx/certs/nginx.crt
  14. ARG TARGETARCH
  15. RUN cd /usr/local/bin/ \
  16. && curl -L https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-$TARGETARCH -o mkcert \
  17. && chmod +x mkcert
  18. COPY ./conf/nginx.conf /etc/nginx/
  19. COPY ./conf/default.conf /etc/nginx/conf.d/
  20. RUN mkdir -p /etc/nginx/html /var/www/html \
  21. && chown -R app:app /etc/nginx /var/www /var/cache/nginx /var/run/nginx.pid /sock
  22. EXPOSE 8443
  23. USER app:app
  24. VOLUME /var/www
  25. WORKDIR /var/www/html