From 86ae2bb9a1ae1b919eea4b700395b363ce2cabdd Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Sep 2022 19:40:25 -0400 Subject: [PATCH 1/7] Skip 'docker.sh setup-release' --- roles/azuracast/tasks/install.yml | 18 ++++++++---------- ....conf.j2 => azuracast-nginx.conf.j2.unused} | 0 2 files changed, 8 insertions(+), 10 deletions(-) rename roles/azuracast/templates/{azuracast-nginx.conf.j2 => azuracast-nginx.conf.j2.unused} (100%) diff --git a/roles/azuracast/tasks/install.yml b/roles/azuracast/tasks/install.yml index 5f4e43ff6..df4e9903a 100644 --- a/roles/azuracast/tasks/install.yml +++ b/roles/azuracast/tasks/install.yml @@ -7,16 +7,12 @@ template: src: prod.env.j2 dest: "{{ azuracast_host_dir }}/.env" - #owner: root - #group: root mode: 0644 #- name: AzuraCast - Install {{ azuracast_host_dir }}/docker-compose.override.yml from template # template: # src: docker-compose.override.yml.j2 # dest: "{{ azuracast_host_dir }}/docker-compose.override.yml" - #owner: root - #group: root # mode: 0644 - name: AzuraCast - Download {{ docker_sh_url }} to {{ azuracast_host_dir }} @@ -50,8 +46,6 @@ template: src: azuracast.env dest: "{{ azuracast_host_dir }}/" - #owner: root - #group: root mode: 0644 - name: AzuraCast - Make directory {{ docker_container_dir }} @@ -65,10 +59,14 @@ path: /var/lib/docker state: link -- name: AzuraCast - Setup for stable channel install - shell: "yes 'Y' | /bin/bash docker.sh setup-release" - args: - chdir: "{{ azuracast_host_dir }}" +# 2022-09-28: "yes 'Y'" toggled whatever it found in /opt/azuracast/.env (e.g. +# AZURACAST_VERSION=stable from templates/prod.env.j2) to the opposite (e.g. +# AZURACAST_VERSION=latest). Let's not modify /opt/azuracast/.env unless nec! +# +# - name: AzuraCast - Setup for stable channel install +# shell: "yes 'Y' | /bin/bash docker.sh setup-release" +# args: +# chdir: "{{ azuracast_host_dir }}" - name: AzuraCast - Run the installer shell: "yes '' | /bin/bash docker.sh install" diff --git a/roles/azuracast/templates/azuracast-nginx.conf.j2 b/roles/azuracast/templates/azuracast-nginx.conf.j2.unused similarity index 100% rename from roles/azuracast/templates/azuracast-nginx.conf.j2 rename to roles/azuracast/templates/azuracast-nginx.conf.j2.unused From 17fb922f8d6ccfeed97db893bd81b2c00dd12c20 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Sep 2022 21:03:44 -0400 Subject: [PATCH 2/7] azuracast/README.rst: Link to more of their docs --- roles/azuracast/README.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/roles/azuracast/README.rst b/roles/azuracast/README.rst index 3e61395e7..3514bb56f 100644 --- a/roles/azuracast/README.rst +++ b/roles/azuracast/README.rst @@ -37,5 +37,9 @@ AzuraCast Docs - https://docs.azuracast.com - https://docs.azuracast.com/en/getting-started/installation/post-installation-steps -- https://docs.azuracast.com/en/getting-started/updates +- https://docs.azuracast.com/en/getting-started/settings +- https://docs.azuracast.com/en/getting-started/updates (can *DAMAGE* AzuraCast as of 2022-09-28) - https://docs.azuracast.com/en/user-guide/streaming-software +- https://docs.azuracast.com/en/user-guide/troubleshooting +- https://docs.azuracast.com/en/user-guide/logs +- https://docs.azuracast.com/en/administration/docker From c3efbb7defb76a9ac680a54831d79b839036e496 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Sep 2022 22:01:25 -0400 Subject: [PATCH 3/7] Rename azuracast.env.j2; Try w/o docker-compose.yml --- roles/azuracast/tasks/install.yml | 23 +++++++++++-------- .../{azuracast.env => azuracast.env.j2} | 0 2 files changed, 13 insertions(+), 10 deletions(-) rename roles/azuracast/templates/{azuracast.env => azuracast.env.j2} (100%) diff --git a/roles/azuracast/tasks/install.yml b/roles/azuracast/tasks/install.yml index df4e9903a..89e611376 100644 --- a/roles/azuracast/tasks/install.yml +++ b/roles/azuracast/tasks/install.yml @@ -7,7 +7,7 @@ template: src: prod.env.j2 dest: "{{ azuracast_host_dir }}/.env" - mode: 0644 + #mode: 0644 #- name: AzuraCast - Install {{ azuracast_host_dir }}/docker-compose.override.yml from template # template: @@ -22,12 +22,15 @@ mode: 0755 timeout: "{{ download_timeout }}" -- name: AzuraCast - Download AzuraCast's docker-compose.yml sample from GitHub to {{ azuracast_host_dir }} - get_url: - url: "{{ docker_compose_url }}" - dest: "{{ azuracast_host_dir }}/docker-compose.yml" - mode: 0755 - timeout: "{{ download_timeout }}" +# 2022-09-28: https://docs.azuracast.com/en/getting-started/installation/docker +# suggests this step might not be necessary. +# +# - name: AzuraCast - Download AzuraCast's docker-compose.yml sample from GitHub to {{ azuracast_host_dir }} +# get_url: +# url: "{{ docker_compose_url }}" +# dest: "{{ azuracast_host_dir }}/docker-compose.yml" +# mode: 0755 +# timeout: "{{ download_timeout }}" #- name: AzuraCast - Make changes to docker.sh script so it runs headless # lineinfile: @@ -44,9 +47,9 @@ - name: AzuraCast - Install {{ azuracast_host_dir }}/azuracast.env for altered ports template: - src: azuracast.env - dest: "{{ azuracast_host_dir }}/" - mode: 0644 + src: azuracast.env.j2 + dest: "{{ azuracast_host_dir }}/azuracast.env" + #mode: 0644 - name: AzuraCast - Make directory {{ docker_container_dir }} file: diff --git a/roles/azuracast/templates/azuracast.env b/roles/azuracast/templates/azuracast.env.j2 similarity index 100% rename from roles/azuracast/templates/azuracast.env rename to roles/azuracast/templates/azuracast.env.j2 From e595328fc1547e4f481e274ffa7b4b94582a46ac Mon Sep 17 00:00:00 2001 From: root Date: Wed, 28 Sep 2022 22:33:05 -0400 Subject: [PATCH 4/7] Simplified azuracast/tasks/install.yml --- roles/azuracast/tasks/install.yml | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/roles/azuracast/tasks/install.yml b/roles/azuracast/tasks/install.yml index 89e611376..1de892984 100644 --- a/roles/azuracast/tasks/install.yml +++ b/roles/azuracast/tasks/install.yml @@ -7,13 +7,11 @@ template: src: prod.env.j2 dest: "{{ azuracast_host_dir }}/.env" - #mode: 0644 -#- name: AzuraCast - Install {{ azuracast_host_dir }}/docker-compose.override.yml from template -# template: -# src: docker-compose.override.yml.j2 -# dest: "{{ azuracast_host_dir }}/docker-compose.override.yml" -# mode: 0644 +- name: AzuraCast - Install {{ azuracast_host_dir }}/azuracast.env for altered ports + template: + src: azuracast.env.j2 + dest: "{{ azuracast_host_dir }}/azuracast.env" - name: AzuraCast - Download {{ docker_sh_url }} to {{ azuracast_host_dir }} get_url: @@ -22,14 +20,18 @@ mode: 0755 timeout: "{{ download_timeout }}" +#- name: AzuraCast - Install {{ azuracast_host_dir }}/docker-compose.override.yml from template +# template: +# src: docker-compose.override.yml.j2 +# dest: "{{ azuracast_host_dir }}/docker-compose.override.yml" + # 2022-09-28: https://docs.azuracast.com/en/getting-started/installation/docker -# suggests this step might not be necessary. +# (& testing) confirm this is done automatically by 'docker.sh install' below. # # - name: AzuraCast - Download AzuraCast's docker-compose.yml sample from GitHub to {{ azuracast_host_dir }} # get_url: # url: "{{ docker_compose_url }}" # dest: "{{ azuracast_host_dir }}/docker-compose.yml" -# mode: 0755 # timeout: "{{ download_timeout }}" #- name: AzuraCast - Make changes to docker.sh script so it runs headless @@ -45,12 +47,6 @@ # regexp: "^( *- \\')8([0-9]{3})\\:8([0-9]{3}\\'.*)$" # replace: "\\g<1>{{ azuracast_port_range_prefix }}\\g<2>:{{ azuracast_port_range_prefix }}\\g<3>" -- name: AzuraCast - Install {{ azuracast_host_dir }}/azuracast.env for altered ports - template: - src: azuracast.env.j2 - dest: "{{ azuracast_host_dir }}/azuracast.env" - #mode: 0644 - - name: AzuraCast - Make directory {{ docker_container_dir }} file: path: "{{ docker_container_dir }}" From c43d408711e22d0117994a909d87433d2b9a9864 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 29 Sep 2022 00:31:17 -0400 Subject: [PATCH 5/7] azuracast/tasks/install.yml comment sequencing --- roles/azuracast/tasks/install.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/roles/azuracast/tasks/install.yml b/roles/azuracast/tasks/install.yml index 1de892984..21bcefa8b 100644 --- a/roles/azuracast/tasks/install.yml +++ b/roles/azuracast/tasks/install.yml @@ -20,10 +20,12 @@ mode: 0755 timeout: "{{ download_timeout }}" -#- name: AzuraCast - Install {{ azuracast_host_dir }}/docker-compose.override.yml from template -# template: -# src: docker-compose.override.yml.j2 -# dest: "{{ azuracast_host_dir }}/docker-compose.override.yml" +#- name: AzuraCast - Make changes to docker.sh script so it runs headless +# lineinfile: +# path: "{{ azuracast_host_dir }}/docker.sh" +# regexp: "^(.*)read reply.*" +# line: "\\1reply='Y'" +# backrefs: yes # 2022-09-28: https://docs.azuracast.com/en/getting-started/installation/docker # (& testing) confirm this is done automatically by 'docker.sh install' below. @@ -34,12 +36,10 @@ # dest: "{{ azuracast_host_dir }}/docker-compose.yml" # timeout: "{{ download_timeout }}" -#- name: AzuraCast - Make changes to docker.sh script so it runs headless -# lineinfile: -# path: "{{ azuracast_host_dir }}/docker.sh" -# regexp: "^(.*)read reply.*" -# line: "\\1reply='Y'" -# backrefs: yes +#- name: AzuraCast - Install {{ azuracast_host_dir }}/docker-compose.override.yml from template +# template: +# src: docker-compose.override.yml.j2 +# dest: "{{ azuracast_host_dir }}/docker-compose.override.yml" #- name: Change default port number range 8xxx:8xxx to {{ azuracast_port_range_prefix }}xxx:{{ azuracast_port_range_prefix }}xxx icecast-stations in docker-compose.yml # replace: From f21a58e5900d17f767e427bc7c1b85cca0d5315c Mon Sep 17 00:00:00 2001 From: root Date: Thu, 29 Sep 2022 01:55:46 -0400 Subject: [PATCH 6/7] Explain './runrole --reinstall azuracast' workaround --- roles/azuracast/tasks/install.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/roles/azuracast/tasks/install.yml b/roles/azuracast/tasks/install.yml index 21bcefa8b..8ce9474d2 100644 --- a/roles/azuracast/tasks/install.yml +++ b/roles/azuracast/tasks/install.yml @@ -1,3 +1,30 @@ +# 2022-09-29: './runrole --reinstall azuracast' is NOT supported! +# +# 1. But if you must, first completely uninstall Docker + WIPE AzuraCast data: +# +# apt purge docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-scan-plugin +# rm -rf /library/docker /var/lib/docker /var/lib/containerd +# +# Per https://docs.docker.com/engine/install/ubuntu/#uninstall-docker-engine +# +# 2. REBOOT to avoid later problems with 'systemctl status docker' -- if you +# don't reboot, Ansible will fail below when 'docker.sh install' fails to +# start docker.service -- likewise if you run './docker.sh install-docker' +# manually in /opt/azuracast. Either way, 'systemctl restart docker' won't +# work for ~2 minutes. (Rebooting avoids all these hassles!) +# +# 3. Just FYI the Docker install process will rebuild its 11 core directories +# in /var/lib/docker -> /library/docker: (as 'docker.sh install' begins) +# +# buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes +# +# 4. Just FYI both MySQL passwords (MYSQL_PASSWORD & MYSQL_ROOT_PASSWORD) will +# be WIPED from /opt/azuracast/azuracast.env (and new passwords +# auto-generated below, for use inside AzuraCast's Docker container). +# +# 5. Run './runrole --reinstall azuracast' in /opt/iiab/iiab + + - name: AzuraCast - Make config directory {{ azuracast_host_dir }} file: path: "{{ azuracast_host_dir }}" From f2b945a0a9f12c00dc117b308326cc455a7c5898 Mon Sep 17 00:00:00 2001 From: A Holt Date: Thu, 29 Sep 2022 03:17:58 -0400 Subject: [PATCH 7/7] azuracast/README.rst: Link to reinstall tech tips (in install.yml) --- roles/azuracast/README.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/azuracast/README.rst b/roles/azuracast/README.rst index 3514bb56f..24d1277da 100644 --- a/roles/azuracast/README.rst +++ b/roles/azuracast/README.rst @@ -22,6 +22,8 @@ As of 2022-08-31, AzuraCast should run on Ubuntu 22.04 and **64-bit** Raspberry Other Linux distributions may also work, at your own risk, especially if Docker runs smoothly. +NOTE: AzuraCast was designed to be installed *just once* on a fresh OS. So ``./runrole --reinstall azuracast`` is not supported in general. However, if you accidentally damage your AzuraCast software, IIAB has posted `technical tips <./tasks/install.yml>`_ *(use at your own risk!)* in case of emergency. + Using It --------