diff --git a/group_vars/nginx_rtmp.yml b/group_vars/nginx_rtmp.yml new file mode 100644 index 00000000..d5626daa --- /dev/null +++ b/group_vars/nginx_rtmp.yml @@ -0,0 +1,4 @@ +--- + +glob_nginx_rtmp: + uri: stream.crans.org diff --git a/hosts b/hosts index 22b567d8..b6c94842 100644 --- a/hosts +++ b/hosts @@ -25,6 +25,9 @@ # [test_vm] # re2o-test.adm.crans.org +[nginx_rtmp] +fluxx.adm.crans.org + [reverseproxy] hodaur.adm.crans.org frontdaur.adm.crans.org @@ -81,6 +84,7 @@ gitlab-ci.adm.crans.org hodaur.adm.crans.org monitoring.adm.crans.org boeing.adm.crans.org +fluxx.adm.crans.org [ovh_physical] sputnik.adm.crans.org diff --git a/plays/nginx_rtmp.yml b/plays/nginx_rtmp.yml new file mode 100644 index 00000000..2ed0f0c7 --- /dev/null +++ b/plays/nginx_rtmp.yml @@ -0,0 +1,6 @@ +#!/usr/bin/env ansible-playbook +--- +- hosts: nginx_rtmp + nginx_rtmp: "{{ glob_nginx_rtmp | combine(loc_nginx_rtmp) }}" + roles: + - nginx_rtmp diff --git a/roles/nginx-rtmp/handlers/main.yml b/roles/nginx-rtmp/handlers/main.yml new file mode 100644 index 00000000..3b8f2d69 --- /dev/null +++ b/roles/nginx-rtmp/handlers/main.yml @@ -0,0 +1,7 @@ +--- + +- name: restart nginx + service: + name: nginx + state: restarted + become: true diff --git a/roles/nginx-rtmp/tasks/main.yml b/roles/nginx-rtmp/tasks/main.yml new file mode 100644 index 00000000..68438fd2 --- /dev/null +++ b/roles/nginx-rtmp/tasks/main.yml @@ -0,0 +1,44 @@ +--- + +- name: Install nginx with rtmp module + apt: + name: + - nginx-full + - libnginx-mod-rtmp + register: apt_result + retries: 3 + until: apt_result is succeeded + become: yes + +- name: Copy module and site configuration files + template: + src: '{{ item }}.j2' + dest: '/etc/{{ item }}' + loop: + - nginx/modules-available/60-rtmp.conf + - nginx/sites-available/stream + notify: restart nginx + +- name: Enable site + file: + src: '/etc/nginx/sites-available/stream' + dest: '/etc/nginx/sites-enabled/stream' + state: link + notify: restart nginx + +- name: Enable module + file: + src: '/etc/nginx/modules-available/60-rtmp.conf' + dest: '/etc/nginx/modules-enabled/60-rtmp.conf' + state: link + notify: restart nginx + +- name: Create site folder + file: + path: /var/www/stream/hls + state: directory + +- name: Copy index configuration file + template: + src: index.html + dest: /var/www/stream/ diff --git a/roles/nginx-rtmp/templates/index.html b/roles/nginx-rtmp/templates/index.html new file mode 100644 index 00000000..36134d85 --- /dev/null +++ b/roles/nginx-rtmp/templates/index.html @@ -0,0 +1,28 @@ + + +
+ +