Skip to content

Commit 4a2a4c6

Browse files
committed
inital
1 parent b2f8185 commit 4a2a4c6

File tree

6 files changed

+141
-1
lines changed

6 files changed

+141
-1
lines changed

README.md

+26-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,27 @@
11
# 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>

docker/master/.env

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
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

docker/master/Dockerfile.alpine

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
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 /

docker/master/Dockerfile.debian

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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 /

make-image.sh

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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

push-image.sh

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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

0 commit comments

Comments
 (0)