diff --git a/Dockerfile b/Dockerfile index 0b37d3d..f6da065 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,12 @@ FROM nginx -ADD nginx-dav-ext-module / -RUN cd nginx-dav-ext-module && ls +ADD nginx-dav-ext-module /modules/nginx-dav-ext-module +ADD nginx-get-options /usr/local/bin +RUN echo 'deb-src [trusted=yes] https://nginx.org/packages/mainline/debian/ bookworm nginx' > /etc/apt/sources.list.d/nginx.list +RUN DEV_PACKAGES="build-essential dpkg-dev libpcre2-dev libssl-dev zlib1g-dev libxslt1-dev" && \ + cd modules && apt update && apt install -y $DEV_PACKAGES && apt source nginx && cd nginx-${NGINX_VERSION} && \ + ./configure $(nginx-get-options) --add-dynamic-module=../nginx-dav-ext-module && make && cp objs/*.so /etc/nginx/modules && \ + rm /etc/apt/sources.list.d/nginx.list && apt remove -y $DEV_PACKAGES && apt -y autoremove && cd / && rm -rf modules ENV VOUCH_INTERNAL=vouch:9090 ADD nginx.conf.template / diff --git a/docker-entrypoint.d/06-enable-modules.sh b/docker-entrypoint.d/06-enable-modules.sh new file mode 100755 index 0000000..0e90306 --- /dev/null +++ b/docker-entrypoint.d/06-enable-modules.sh @@ -0,0 +1,3 @@ +#!/bin/sh +BASE_CONFIG_PATH=/etc/nginx/nginx.conf +echo "load_module /etc/nginx/modules/ngx_http_dav_ext_module.so;\n$(cat $BASE_CONFIG_PATH)" > $BASE_CONFIG_PATH diff --git a/nginx-get-options b/nginx-get-options new file mode 100755 index 0000000..8451f15 --- /dev/null +++ b/nginx-get-options @@ -0,0 +1,2 @@ +#!/bin/bash +nginx -V 2>&1 | grep 'configure' | cut -d ':' -f 2 | sed 's/--with-cc-opt/\n/g' | head -n 1