self-hosted/webdav/Dockerfile
Lorenzo Carbonell e3d5dc9039 improved nginx
2022-02-20 09:53:45 +01:00

59 lines
1.4 KiB
Docker

FROM alpine AS builder
RUN apk add --update \
--no-cache \
pcre \
libxml2 \
libxslt \
gcc \
make \
libc-dev \
pcre-dev \
zlib-dev \
libxml2-dev \
libxslt-dev && \
cd /tmp && \
wget https://github.com/nginx/nginx/archive/master.zip -O nginx.zip && \
unzip nginx.zip && \
wget https://github.com/arut/nginx-dav-ext-module/archive/master.zip -O dav-ext-module.zip && \
unzip dav-ext-module.zip && \
cd nginx-master && \
./auto/configure --prefix=/opt/nginx --with-http_dav_module --add-module=/tmp/nginx-dav-ext-module-master && \
make && \
make install && \
apk del gcc make libc-dev pcre-dev zlib-dev libxml2-dev libxslt-dev && \
rm -rf /var/cache/apk
FROM alpine:latest
ARG UID=${UID:-1001}
ARG GID=${GID:-1001}
RUN apk add --update \
--no-cache \
pcre \
libxml2 \
libxslt \
tini \
shadow &&\
groupmod -g $GID www-data && \
adduser -u $UID -S www-data -G www-data && \
mkdir /share
COPY --from=builder /opt /opt
COPY webdav.conf /opt/nginx/conf/nginx.conf
COPY entrypoint.sh /
EXPOSE 8080
VOLUME /share
RUN chown -R www-data:www-data /share && \
chown -R www-data:www-data /opt/nginx
USER www-data
ENTRYPOINT ["tini", "--"]
CMD ["/bin/sh", "/entrypoint.sh"]