121 lines
No EOL
3.2 KiB
YAML
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/ |