diff --git a/roles/6-generic-apps/tasks/main.yml b/roles/6-generic-apps/tasks/main.yml index b90927af7..02a3b8dda 100644 --- a/roles/6-generic-apps/tasks/main.yml +++ b/roles/6-generic-apps/tasks/main.yml @@ -3,6 +3,12 @@ - name: ...IS BEGINNING ==================================== command: echo +- name: AZURACAST + include_role: + name: azuracast + when: azuracast_install | bool + tags: azuracast + - name: DOKUWIKI include_role: name: dokuwiki diff --git a/roles/azuracast/README.rst b/roles/azuracast/README.rst new file mode 100644 index 000000000..17c4cefd1 --- /dev/null +++ b/roles/azuracast/README.rst @@ -0,0 +1,15 @@ +========== +Azuracast README +========== + +This 'azuracast' playbook adds `Azuracast `_ to Internet-in-a-Box (IIAB) for network radio station fnctionality. + +Currently, this will only run on Ubuntu 18.04, Debian 9, Debian 10. This will not run on raspberry pi. + +Using It +-------- + +Prior to installing IIAB, make sure your `/etc/iiab/local_vars.yml `_ contains:: + + azuracast_install: True + azuracast_enabled: True diff --git a/roles/azuracast/defaults/main.yml b/roles/azuracast/defaults/main.yml new file mode 100644 index 000000000..99a1e4b20 --- /dev/null +++ b/roles/azuracast/defaults/main.yml @@ -0,0 +1,15 @@ +# A full-featured online radio station suite. +# Works on Ubuntu 18.04, Debian 9, 10. Uses docker + +# azuracast_install: False +# azuracast_enabled: False + +# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml +# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing! + +azuracast_http_port: 8080 +azuracast_https_port: 8443 + +docker_sh_url: https://raw.githubusercontent.com/AzuraCast/AzuraCast/master/docker.sh +docker_container_dir: /library/docker +azuracast_host_dir: /opt/azuracast diff --git a/roles/azuracast/tasks/install.yml b/roles/azuracast/tasks/install.yml new file mode 100644 index 000000000..5ece3c98b --- /dev/null +++ b/roles/azuracast/tasks/install.yml @@ -0,0 +1,43 @@ +- name: Azuracast - Make Azuracast config directory + file: + path: "{{ azuracast_host_dir }}" + state: directory + +- name: Azuracast - Copy over .env template to Azuracast config directory + template: + src: env.j2 + dest: "{{ azuracast_host_dir }}/.env" + owner: root + group: root + mode: 0644 + +- name: Azuracast - Download docker.sh script + get_url: + url: "{{ docker_sh_url }}" + dest: "{{ azuracast_host_dir }}/" + timeout: "{{ download_timeout }}" + mode: 0755 + when: internet_available | bool + +- name: Azuracast - Make changes to docker.sh script so it runs headless + lineinfile: + path: "{{ azuracast_host_dir }}/docker.sh" + regexp: "^(.*)read reply.*" + line: "reply='Y'" + backrefs: yes + +- name: Azuracast - Make docker container directory + file: + path: "{{ docker_container_dir }}" + state: directory + +- name: Azuracast - Link docker container directory + file: + src: "{{ docker_container_dir }}" + dest: "/var/lib/docker" + state: link + +- name: Azuracast - Run the installer + shell: "/bin/bash docker.sh install" + args: + chdir: "{{ azuracast_host_dir }}" diff --git a/roles/azuracast/tasks/main.yml b/roles/azuracast/tasks/main.yml new file mode 100644 index 000000000..737ea4227 --- /dev/null +++ b/roles/azuracast/tasks/main.yml @@ -0,0 +1,3 @@ +- name: Azuracast install + include_tasks: install.yml + when: azuracast_install diff --git a/roles/azuracast/templates/env.j2 b/roles/azuracast/templates/env.j2 new file mode 100644 index 000000000..6ec52cfb8 --- /dev/null +++ b/roles/azuracast/templates/env.j2 @@ -0,0 +1,4 @@ +COMPOSE_PROJECT_NAME=azuracast + +AZURACAST_HTTP_PORT={{ azuracast_http_port }} +AZURACAST_HTTPS_PORT={{ azuracast_https_port }} diff --git a/vars/default_vars.yml b/vars/default_vars.yml index f9185371a..580f406de 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -285,6 +285,9 @@ idmgr_enables: False # 6-GENERIC-APPS +azuracast_install: True +azuracast_enabled: True + dokuwiki_install: False dokuwiki_enabled: False diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index 3f6e59768..d8988152d 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -178,6 +178,9 @@ iiab_usb_lib_show_all: True # 6-GENERIC-APPS +azuracast_install: True +azuracast_enabled: True + dokuwiki_install: True dokuwiki_enabled: True diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index 3dbb1f1bc..2365b8f75 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -178,6 +178,9 @@ iiab_usb_lib_show_all: True # 6-GENERIC-APPS +azuracast_install: True +azuracast_enabled: True + dokuwiki_install: False dokuwiki_enabled: False diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index b393f4a83..8442a84c0 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -178,6 +178,9 @@ iiab_usb_lib_show_all: True # 6-GENERIC-APPS +azuracast_install: False +azuracast_enabled: False + dokuwiki_install: False dokuwiki_enabled: False