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