docker-openresty-gm
is a docker image with OpenResty , rtmp module and GraphicsMagick for docker
- Support RTMP, HLS and MPEG-DASH streaming (thanks to nginx rtmp module)
- On the fly (and free) SSL registration and renewal inside OpenResty/nginx with Let's Encrypt (thanks to lua-resty-auto-ssl)
- Integrated GeoIP REST Api (thanks to Telize)
- Lightweight image based on openresty/openresty:alpine-fat flavor
SSH to your server and run
# Clone this repo
git clone https://github.com/kuwork/docker-openresty-gm.git
# Run image and mount config files for later editing
docker run -dit --name my_streaming_server \
-p 80:80 \
-p 443:443 \
-p 1935:1935 \
-v ~/docker-openresty-gm/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf \
kuwork/docker-openresty-gm:alpine-fat
Then your browser should display OpenResty welcome home page at http://streaming_server_ip/ . Later on, just edit the mounted nginx.config file at ~/docker-openresty-gm/nginx.conf
for your needs and apply changes with command below
sudo docker exec my_streaming_server sh -c "openresty -t && openresty -s reload"
- nginx rtmp module has default application endpoint
my_live_stream
. You can push your live stream to the server via url: rtmp://streaming_server_ip_or_domain:1935/my_live_stream/my_stream_name and playback with hls url http://streaming_server_ip_or_domain/hls/my_stream_name
git clone https://github.com/kuwork/docker-openresty-gm.git
cd docker-openresty-gm
./build.sh
# Then run the image
docker run -dit --name openresty-gm \
-p 80:80 \
-p 443:443 \
-p 1935:1935 \
-v ./nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf \
kuwork/openresty:alpine-fat-gm