nginx/Dockerfile

39 lines
1.3 KiB
Docker

# NAME leenooks/nginx
# VERSION latest
FROM php:fpm-alpine
RUN apk add nginx nginx-mod-mail bash
EXPOSE 80 443 25 110 143
# Add acme-lego Certbot
RUN curl -sL https://github.com/go-acme/lego/releases/download/v4.6.0/lego_v4.6.0_linux_amd64.tar.gz | tar -C /usr/local/sbin -xzf -
RUN mv /sbin/init /sbin/init.busybox
COPY init /sbin/
#RUN apt-get update && apt-get install certbot -yy \
# && rm -rf /var/lib/apt/lists/* /tmp/*
# Add Cloudflare Certbot
#RUN apt-get update && apt-get install python3-certbot-dns-cloudflare -yy \
# && rm -rf /var/lib/apt/lists/* /tmp/*
COPY etc/nginx/nginx.conf /etc/nginx
COPY etc/nginx/default.d /etc/nginx/default.d
COPY etc/nginx/include.d /etc/nginx/include.d
RUN chmod 444 /etc/nginx/default.d/ssl/* && chmod 400 /etc/nginx/default.d/ssl/default.key /etc/nginx/default.d/ssl/dhparams.pem
COPY var/www/maintenance /var/www/maintenance
COPY www.conf /usr/local/etc/php-fpm.d/
COPY ssl.sh /usr/local/sbin/
LABEL cron.container.weekly root#/usr/local/sbin/ssl.sh lego renew
RUN mkdir -p /etc/nginx/conf.d/ssl && ln -s ../../default.d/ssl/default.crt /etc/nginx/conf.d/ssl/mail.crt && ln -s ../../default.d/ssl/default.key /etc/nginx/conf.d/ssl/mail.key
# Expose our web root and log directories log.
#VOLUME [ "/etc/nginx/conf.d", "/etc/nginx/default.d", "/etc/nginx/include.d" ]
# Starting
ENTRYPOINT [ "/sbin/init" ]