- 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/