mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 19:52:06 +00:00
129 lines
4.7 KiB
YAML
129 lines
4.7 KiB
YAML
# 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: Record (initial) disk space used
|
|
shell: df -B1 --output=used / | tail -1
|
|
register: df1
|
|
|
|
|
|
- name: AzuraCast - Make config directory {{ azuracast_host_dir }}
|
|
file:
|
|
path: "{{ azuracast_host_dir }}"
|
|
state: directory
|
|
|
|
- name: AzuraCast - Install {{ azuracast_host_dir }}/.env from template
|
|
template:
|
|
src: prod.env.j2
|
|
dest: "{{ azuracast_host_dir }}/.env"
|
|
|
|
- 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:
|
|
url: "{{ docker_sh_url }}"
|
|
dest: "{{ azuracast_host_dir }}/"
|
|
mode: 0755
|
|
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
|
|
|
|
# 2022-09-28: https://docs.azuracast.com/en/getting-started/installation/docker
|
|
# (& 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"
|
|
# 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: 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:
|
|
# path: "{{ azuracast_host_dir }}/docker-compose.yml"
|
|
# 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 - Make directory {{ docker_container_dir }}
|
|
file:
|
|
path: "{{ docker_container_dir }}"
|
|
state: directory
|
|
|
|
- name: AzuraCast - Symlink /var/lib/docker -> {{ docker_container_dir }}
|
|
file:
|
|
src: "{{ docker_container_dir }}"
|
|
path: /var/lib/docker
|
|
state: link
|
|
|
|
# 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"
|
|
args:
|
|
chdir: "{{ azuracast_host_dir }}"
|
|
|
|
|
|
# RECORD AzuraCast AS INSTALLED
|
|
|
|
- name: Record (final) disk space used
|
|
shell: df -B1 --output=used / | tail -1
|
|
register: df2
|
|
|
|
- name: Add 'azuracast_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
|
|
ini_file:
|
|
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
|
|
section: azuracast
|
|
option: azuracast_disk_usage
|
|
value: "{{ df2.stdout|int - df1.stdout|int }}"
|
|
|
|
- name: "Set 'azuracast_installed: True'"
|
|
set_fact:
|
|
azuracast_installed: True
|
|
|
|
- name: "Add 'azuracast_installed: True' to {{ iiab_state_file }}"
|
|
lineinfile:
|
|
path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml
|
|
regexp: '^azuracast_installed'
|
|
line: 'azuracast_installed: True'
|