mirror of
https://github.com/luzifer-docker/rtmp-record.git
synced 2024-11-14 01:12:43 +00:00
Initial version
This commit is contained in:
commit
5b58ef69cd
3 changed files with 92 additions and 0 deletions
27
Dockerfile
Normal file
27
Dockerfile
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
FROM alpine:latest as fetch
|
||||||
|
|
||||||
|
RUN set -ex \
|
||||||
|
&& apk --no-cache add \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
&& curl -sSfLo /tmp/dumb-init "https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64" \
|
||||||
|
&& chmod +x \
|
||||||
|
/tmp/dumb-init
|
||||||
|
|
||||||
|
|
||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
RUN set -ex \
|
||||||
|
&& apk --no-cache add \
|
||||||
|
bash \
|
||||||
|
nginx \
|
||||||
|
nginx-mod-rtmp
|
||||||
|
|
||||||
|
COPY --from=fetch /tmp/dumb-init /usr/local/bin/
|
||||||
|
COPY docker-entrypoint.sh /usr/local/bin/
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
EXPOSE 80 1935
|
||||||
|
VOLUME ["/data"]
|
||||||
|
|
||||||
|
CMD ["/usr/local/bin/docker-entrypoint.sh"]
|
7
docker-entrypoint.sh
Executable file
7
docker-entrypoint.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/usr/local/bin/dumb-init /bin/bash
|
||||||
|
set -euxo pipefail
|
||||||
|
|
||||||
|
# Ensure nginx can work with the /data dir
|
||||||
|
chown -R nginx: /data
|
||||||
|
|
||||||
|
exec nginx -g "daemon off;"
|
58
nginx.conf
Normal file
58
nginx.conf
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
|
||||||
|
user nginx;
|
||||||
|
worker_processes auto;
|
||||||
|
|
||||||
|
error_log /var/log/nginx/error.log warn;
|
||||||
|
pid /var/run/nginx.pid;
|
||||||
|
|
||||||
|
include /etc/nginx/modules/rtmp.conf;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
http {
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
|
'$status $body_bytes_sent "$http_referer" '
|
||||||
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||||
|
access_log /var/log/nginx/access.log main;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
keepalive_timeout 65;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
types {
|
||||||
|
application/vnd.apple.mpegurl m3u8;
|
||||||
|
}
|
||||||
|
|
||||||
|
root /data;
|
||||||
|
|
||||||
|
add_header Cache-Control no-cache;
|
||||||
|
add_header Access-Control-Allow-Origin *;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rtmp {
|
||||||
|
server {
|
||||||
|
listen 1935;
|
||||||
|
|
||||||
|
application hls {
|
||||||
|
live on;
|
||||||
|
|
||||||
|
hls on;
|
||||||
|
hls_fragment 1m;
|
||||||
|
hls_fragment_naming system;
|
||||||
|
hls_fragment_slicing aligned;
|
||||||
|
hls_path /data;
|
||||||
|
hls_playlist_length 24h;
|
||||||
|
hls_nested on;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue