ephemeral-jamulus/broadcast-install.yml

121 lines
No EOL
3.2 KiB
YAML

- become: yes
hosts: all
name: broadcast-install
tasks:
- name: Wait for apt to unlock
become: yes
shell: while sudo fuser /var/lib/dpkg/lock >/dev/null 2>&1; do sleep 5; done;
- name: Install docker deps
apt:
pkg:
- apt-transport-https
- ca-certificates
- curl
- software-properties-common
- python3-pip
state: latest
update_cache: true
- name: install docker modules
pip:
name: "{{ item.name }}"
state: present
with_items:
- { name: docker }
- { name: docker-compose }
- { name: boto3 }
- name: Get node exporter
get_url:
url: https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
dest: /tmp/node_exporter-1.2.2.linux-amd64.tar.gz
- name: Extract node exporter
unarchive:
src: /tmp/node_exporter-1.2.2.linux-amd64.tar.gz
dest: /tmp/
remote_src: yes
- name: Install node exporter
copy:
remote_src: yes
src: /tmp/node_exporter-1.2.2.linux-amd64/node_exporter
dest: /usr/local/bin/node_exporter
- name: Move node exporter service file
copy:
src: "{{ playbook_dir }}/payload/init.d/node_exporter.service"
dest: /lib/systemd/system/node_exporter.service
- name: Start node exporter service
systemd:
state: started
name: node_exporter.service
- name: Install docker
become: yes
shell: curl https://get.docker.com | bash -
- name: Add ubuntu user to docker group
user:
name: "ubuntu"
group: "docker"
append: yes
- name: Get docker-compose
get_url:
url: https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64
dest: /usr/local/bin/docker-compose
mode: 'u+x,g+x'
- name: Make broadcast folders
file:
path: "{{ item.path }}"
state: directory
with_items:
- { path: /home/ubuntu/icecast }
- { path: /home/ubuntu/icecast/logs }
- { path: /home/ubuntu/rtsp-simple-server }
- name: Move icecast folder to server
copy:
src: "{{ playbook_dir }}/payload/icecast/"
dest: /home/ubuntu/icecast
owner: ubuntu
directory_mode:
tags:
- dircontent
- name: Move rtsp-simple-server folder to server
copy:
src: "{{ playbook_dir }}/payload/rtsp-simple-server/"
dest: /home/ubuntu/rtsp-simple-server
owner: ubuntu
directory_mode:
tags:
- dircontent
- name: Change ownership to ubuntu for rtsp-simple-server files
file:
path: /home/ubuntu/rtsp-simple-server
state: directory
owner: ubuntu
group: ubuntu
recurse: yes
- name: Change ownership to ubuntu for icecast files
file:
path: /home/ubuntu/icecast
state: directory
owner: ubuntu
group: ubuntu
recurse: yes
- name: Build and Run icecast
docker_compose:
project_src: /home/ubuntu/icecast/
- name: Build and Run rtsp-simple-server
docker_compose:
project_src: /home/ubuntu/rtsp-simple-server/