Skip to content

Commit fc2ff28

Browse files
committed
inital
1 parent 7d41ead commit fc2ff28

File tree

9 files changed

+201
-1
lines changed

9 files changed

+201
-1
lines changed

README.md

+39-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,40 @@
11
# ngx_http_push_stream_module
2-
ngx_http_push_stream_module
2+
3+
A pure stream http push technology for your Nginx setup. Comet made easy and really scalable.
4+
5+
- Official: https://github.com/wandenberg/nginx-push-stream-module
6+
- Build: https://github.com/nginx-with-docker/nginx-push-stream-module-src
7+
8+
## Nginx Images
9+
10+
<table>
11+
<thead>
12+
<tr>
13+
<th>Nginx Version</th>
14+
<th>Module Version</th>
15+
<th>Docker Images</th>
16+
</tr>
17+
</thead>
18+
<tbody>
19+
<tr>
20+
<td>1.21.0</td>
21+
<td>master (2020.05)</td>
22+
<td><ul>
23+
<li>docker pull soulteary/prebuilt-nginx-modules:ngx-1.21.0-push-stream-master</li>
24+
<li>docker pull soulteary/prebuilt-nginx-modules:ngx-1.21.0-push-stream-master-alpine</li>
25+
</ul></td>
26+
</tr>
27+
<tr>
28+
<td>1.21.0</td>
29+
<td>0.5.4 (2017.09)</td>
30+
<td><ul>
31+
<li>docker pull soulteary/prebuilt-nginx-modules:ngx-1.21.0-push-stream-0.5.4</li>
32+
<li>docker pull soulteary/prebuilt-nginx-modules:ngx-1.21.0-push-stream-0.5.4-alpine</li>
33+
</ul></td>
34+
</tr>
35+
</tbody>
36+
</table>
37+
38+
## TODO
39+
40+
- try merge changes: https://github.com/wandenberg/nginx-push-stream-module/pulls

docker/0.5.4/.env

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
NGINX_VERSION=1.21.0
2+
MODULE_CHECKSUM=1bca260b7d2ca79eb2c8a3c21427cc70b9b41673
3+
MODULE_VERSION=0.5.4
4+
MODULE_NAME=nginx-push-stream-module-src
5+
MODULE_SOURCE=https://github.com/nginx-with-docker/nginx-push-stream-module-src

docker/0.5.4/Dockerfile.alpine

+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}-alpine AS Builder
3+
4+
ARG MODULE_CHECKSUM=1bca260b7d2ca79eb2c8a3c21427cc70b9b41673
5+
ARG MODULE_VERSION=0.5.4
6+
ARG MODULE_NAME=nginx-push-stream-module-src
7+
ARG MODULE_SOURCE=https://github.com/nginx-with-docker/nginx-push-stream-module-src
8+
9+
RUN cd /usr/src && \
10+
curl -L "${MODULE_SOURCE}/archive/refs/tags/v${MODULE_VERSION}.tar.gz" -o "${MODULE_VERSION}.tar.gz" && \
11+
echo "${MODULE_CHECKSUM} ${MODULE_VERSION}.tar.gz" | shasum -c && \
12+
tar -zxC /usr/src -f ${MODULE_VERSION}.tar.gz && \
13+
mv ${MODULE_NAME}-${MODULE_VERSION}/ ${MODULE_NAME} && \
14+
cd /usr/src/nginx && \
15+
CONFARGS=$(nginx -V 2>&1 | sed -n -e 's/^.*arguments: //p') \
16+
CONFARGS=${CONFARGS/-Os -fomit-frame-pointer -g/-Os} && \
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_push_stream_module.so /

docker/0.5.4/Dockerfile.debian

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
ARG NGINX_VERSION=1.21.0
2+
FROM soulteary/prebuilt-nginx-modules:base-${NGINX_VERSION} AS Builder
3+
4+
ARG MODULE_CHECKSUM=1bca260b7d2ca79eb2c8a3c21427cc70b9b41673
5+
ARG MODULE_VERSION=0.5.4
6+
ARG MODULE_NAME=nginx-push-stream-module-src
7+
ARG MODULE_SOURCE=https://github.com/nginx-with-docker/nginx-push-stream-module-src
8+
9+
RUN cd /usr/src && \
10+
curl -L "${MODULE_SOURCE}/archive/refs/tags/v${MODULE_VERSION}.tar.gz" -o "${MODULE_VERSION}.tar.gz" && \
11+
echo "${MODULE_CHECKSUM} ${MODULE_VERSION}.tar.gz" | shasum -c && \
12+
tar -zxC /usr/src -f ${MODULE_VERSION}.tar.gz && \
13+
mv ${MODULE_NAME}-${MODULE_VERSION}/ ${MODULE_NAME} && \
14+
cd /usr/src/nginx && \
15+
echo $CONFARGS && \
16+
./configure --with-compat $CONFARGS --add-dynamic-module=../${MODULE_NAME}/ && \
17+
make modules
18+
19+
FROM scratch
20+
21+
COPY --from=Builder /usr/src/nginx/objs/ngx_http_push_stream_module.so /

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=067aab5e26e835e862c438a475dee2e4ff677d2a
3+
MODULE_VERSION=master
4+
MODULE_NAME=nginx-push-stream-module-src
5+
MODULE_SOURCE=https://github.com/nginx-with-docker/nginx-push-stream-module-src

docker/master/Dockerfile.alpine

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
ARG NGINX_VERSION=1.21.0
2+
FROM soulteary/prebuilt-nginx-modules:base-${NGINX_VERSION}-alpine AS Builder
3+
4+
ARG MODULE_CHECKSUM=067aab5e26e835e862c438a475dee2e4ff677d2a
5+
ARG MODULE_VERSION=master
6+
ARG MODULE_NAME=nginx-push-stream-module-src
7+
ARG MODULE_SOURCE=https://github.com/nginx-with-docker/nginx-push-stream-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+
mv "$MODULE_NAME-$MODULE_VERSION" "$MODULE_NAME" && \
15+
cd /usr/src/nginx && \
16+
CONFARGS=$(nginx -V 2>&1 | sed -n -e 's/^.*arguments: //p') \
17+
CONFARGS=${CONFARGS/-Os -fomit-frame-pointer -g/-Os} && \
18+
echo $CONFARGS && \
19+
./configure --with-compat $CONFARGS --add-dynamic-module=../${MODULE_NAME}/ && \
20+
make modules
21+
22+
FROM scratch
23+
24+
COPY --from=Builder /usr/src/nginx/objs/ngx_http_push_stream_module.so /

docker/master/Dockerfile.debian

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
ARG NGINX_VERSION=1.21.0
2+
FROM soulteary/prebuilt-nginx-modules:base-${NGINX_VERSION} AS Builder
3+
4+
ARG MODULE_CHECKSUM=067aab5e26e835e862c438a475dee2e4ff677d2a
5+
ARG MODULE_VERSION=master
6+
ARG MODULE_NAME=nginx-push-stream-module-src
7+
ARG MODULE_SOURCE=https://github.com/nginx-with-docker/nginx-push-stream-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+
mv "$MODULE_NAME-$MODULE_VERSION" "$MODULE_NAME" && \
15+
cd /usr/src/nginx && \
16+
echo $CONFARGS && \
17+
./configure --with-compat $CONFARGS --add-dynamic-module=../${MODULE_NAME}/ && \
18+
make modules
19+
20+
FROM scratch
21+
22+
COPY --from=Builder /usr/src/nginx/objs/ngx_http_push_stream_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="push-stream"
4+
REPO_NAME="soulteary/prebuilt-nginx-modules"
5+
RELEASE_DIR="./docker";
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="push-stream"
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)