File tree 6 files changed +141
-1
lines changed
6 files changed +141
-1
lines changed Original file line number Diff line number Diff line change 1
1
# ngx_http_upload_module
2
- ngx_http_upload_module
2
+
3
+ A module for nginx web server for handling file uploads using multipart/form-data encoding (RFC 1867).
4
+
5
+ - Official: https://github.com/fdintino/nginx-upload-module
6
+ - Build: https://github.com/nginx-with-docker/nginx-upload-module-src
7
+ ## Nginx Images
8
+
9
+ <table >
10
+ <thead>
11
+ <tr>
12
+ <th>Nginx Version</th>
13
+ <th>Module Version</th>
14
+ <th>Docker Images</th>
15
+ </tr>
16
+ </thead>
17
+ <tbody>
18
+ <tr>
19
+ <td>1.21.0</td>
20
+ <td>master</td>
21
+ <td><ul>
22
+ <li>docker pull soulteary/prebuilt-nginx-modules:ngx-1.21.0-upload-master</li>
23
+ <li>docker pull soulteary/prebuilt-nginx-modules:ngx-1.21.0-upload-master-alpine</li>
24
+ </ul></td>
25
+ </tr>
26
+ </tbody>
27
+ </table >
Original file line number Diff line number Diff line change
1
+ NGINX_VERSION = 1.21.0
2
+ MODULE_CHECKSUM = 41e19b64676a53394817361f23d71d256c50f161
3
+ MODULE_VERSION = master
4
+ MODULE_NAME = nginx-upload-module-src
5
+ MODULE_SOURCE = https://github.com/nginx-with-docker/nginx-upload-module-src
Original file line number Diff line number Diff line change
1
+ ARG NGINX_VERSION=1.21.0
2
+ FROM soulteary/prebuilt-nginx-modules:base-${NGINX_VERSION}-alpine AS Builder
3
+
4
+ ARG MODULE_CHECKSUM=41e19b64676a53394817361f23d71d256c50f161
5
+ ARG MODULE_VERSION=master
6
+ ARG MODULE_NAME=nginx-upload-module-src
7
+ ARG MODULE_SOURCE=https://github.com/nginx-with-docker/nginx-upload-module-src
8
+
9
+ RUN apk add unzip
10
+ RUN cd /usr/src && \
11
+ curl -L "${MODULE_SOURCE}/archive/refs/heads/${MODULE_VERSION}.zip" -o "v${MODULE_VERSION}.zip" && \
12
+ echo "${MODULE_CHECKSUM} v${MODULE_VERSION}.zip" | shasum -c && \
13
+ unzip v${MODULE_VERSION}.zip && \
14
+ cd /usr/src && \
15
+ mv ${MODULE_NAME}-${MODULE_VERSION}/ ${MODULE_NAME} && \
16
+ cd /usr/src/nginx && \
17
+ CONFARGS=$(nginx -V 2>&1 | sed -n -e 's/^.*arguments: //p') \
18
+ CONFARGS=${CONFARGS/-Os -fomit-frame-pointer -g/-Os} && \
19
+ echo $CONFARGS && \
20
+ ./configure --with-compat $CONFARGS --add-dynamic-module=../${MODULE_NAME}/ && \
21
+ make modules
22
+
23
+ FROM scratch
24
+
25
+ COPY --from=Builder /usr/src/nginx/objs/ngx_http_upload_module.so /
Original file line number Diff line number Diff line change
1
+ ARG NGINX_VERSION=1.21.0
2
+ FROM soulteary/prebuilt-nginx-modules:base-${NGINX_VERSION} AS Builder
3
+
4
+ ARG MODULE_CHECKSUM=41e19b64676a53394817361f23d71d256c50f161
5
+ ARG MODULE_VERSION=master
6
+ ARG MODULE_NAME=nginx-upload-module-src
7
+ ARG MODULE_SOURCE=https://github.com/nginx-with-docker/nginx-upload-module-src
8
+
9
+ RUN apt install unzip -y
10
+ RUN cd /usr/src && \
11
+ curl -L "${MODULE_SOURCE}/archive/refs/heads/${MODULE_VERSION}.zip" -o "v${MODULE_VERSION}.zip" && \
12
+ echo "${MODULE_CHECKSUM} v${MODULE_VERSION}.zip" | shasum -c && \
13
+ unzip v${MODULE_VERSION}.zip && \
14
+ cd /usr/src && \
15
+ mv ${MODULE_NAME}-${MODULE_VERSION}/ ${MODULE_NAME} && \
16
+ cd /usr/src/nginx && \
17
+ echo $CONFARGS && \
18
+ ./configure --with-compat $CONFARGS --add-dynamic-module=../${MODULE_NAME}/ && \
19
+ make modules
20
+
21
+ FROM scratch
22
+
23
+ COPY --from=Builder /usr/src/nginx/objs/ngx_http_upload_module.so /
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ PROJECT_NAME=" upload"
4
+ RELEASE_DIR=" ./docker" ;
5
+ REPO_NAME=" soulteary/prebuilt-nginx-modules"
6
+
7
+ for subVer in $RELEASE_DIR /* ; do
8
+
9
+ set -a
10
+ . " $subVer /.env"
11
+ set +a
12
+
13
+ REPO_TAG=" ngx-$NGINX_VERSION -$PROJECT_NAME -$MODULE_VERSION " ;
14
+ BUILD_ARGS=$( tr ' \n' ' ;' < " $subVer /.env" | sed ' s/;$/\n/' | sed ' s/^/ --build-arg /' | sed ' s/;/ --build-arg /g' )
15
+
16
+ if [ -f " $subVer /Dockerfile.alpine" ]; then
17
+ BUILD_NAME=" $REPO_NAME :$REPO_TAG -alpine"
18
+ if [[ " $( docker images -q $BUILD_NAME 2> /dev/null) " == " " ]]; then
19
+ echo " Build: $BUILD_NAME " ;
20
+ docker build $BUILD_ARGS --tag $BUILD_NAME -f $subVer /Dockerfile.alpine .
21
+ fi
22
+ fi
23
+
24
+ if [ -f " $subVer /Dockerfile.debian" ]; then
25
+ BUILD_NAME=" $REPO_NAME :$REPO_TAG "
26
+ if [[ " $( docker images -q $BUILD_NAME 2> /dev/null) " == " " ]]; then
27
+ echo " Build: $BUILD_NAME " ;
28
+ docker build $BUILD_ARGS --tag $BUILD_NAME -f $subVer /Dockerfile.debian .
29
+ fi
30
+ fi
31
+
32
+ done
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ PROJECT_NAME=" upload"
4
+ REPO_NAME=" soulteary/prebuilt-nginx-modules"
5
+ RELEASE_DIR=" ./docker" ;
6
+
7
+ for subVer in $RELEASE_DIR /* ; do
8
+ set -a
9
+ . " $subVer /.env"
10
+ set +a
11
+
12
+ REPO_TAG=" ngx-$NGINX_VERSION -$PROJECT_NAME -$MODULE_VERSION " ;
13
+
14
+ if [ -f " $subVer /Dockerfile.alpine" ]; then
15
+ BUILD_NAME=" $REPO_NAME :$REPO_TAG -alpine"
16
+ if [[ " $( docker images -q $BUILD_NAME 2> /dev/null) " != " " ]]; then
17
+ echo " Push: $BUILD_NAME " ;
18
+ docker push $BUILD_NAME ;
19
+ fi
20
+ fi
21
+
22
+ if [ -f " $subVer /Dockerfile.debian" ]; then
23
+ BUILD_NAME=" $REPO_NAME :$REPO_TAG "
24
+ if [[ " $( docker images -q $BUILD_NAME 2> /dev/null) " != " " ]]; then
25
+ echo " Push: $BUILD_NAME " ;
26
+ docker push $BUILD_NAME ;
27
+ fi
28
+ fi
29
+
30
+ done
You can’t perform that action at this time.
0 commit comments