109 lines
3.1 KiB
YAML
109 lines
3.1 KiB
YAML
---
|
|
- name: Set up the arrstack
|
|
hosts: streaming
|
|
vars:
|
|
apps:
|
|
- sonarr
|
|
configs:
|
|
- src: '../assets/arrstack/sonarr/config.xml'
|
|
dest: '/home/docker/sonarr/config.xml'
|
|
- src: '../assets/arrstack/prowlarr/config.xml'
|
|
dest: '/home/docker/prowlarr/config.xml'
|
|
- src: '../assets/arrstack/radarr/config.xml'
|
|
dest: '/home/docker/radarr/config.xml'
|
|
- src: '../assets/arrstack/readarr/config.xml'
|
|
dest: '/home/docker/readarr/config.xml'
|
|
- src: '../assets/arrstack/qbittorrent/qBittorrent.conf'
|
|
dest: '/home/docker/qbittorrent/qBittorrent.conf'
|
|
dbs:
|
|
- arrstack_sonarr_main
|
|
- arrstack_sonarr_log
|
|
- arrstack_radarr_main
|
|
- arrstack_radarr_log
|
|
- arrstack_prowlarr_main
|
|
- arrstack_prowlarr_log
|
|
- arrstack_readarr_main
|
|
- arrstack_readarr_log
|
|
- arrstack_readarr_cache
|
|
tasks:
|
|
- name: Mount the media share to the VM
|
|
ansible.builtin.include_tasks:
|
|
file: ../tasks/mount_nfs.yml
|
|
vars:
|
|
mount_path: "/home/docker/media"
|
|
mount_source: "10.89.0.15:/mnt/main/media"
|
|
|
|
- name: Create arrstack user on postgres
|
|
ansible.builtin.include_tasks:
|
|
file: '../tasks/postgres/create_user.yml'
|
|
vars:
|
|
user: arrstack
|
|
password: password
|
|
|
|
- name: Create app databases on postgres
|
|
ansible.builtin.include_tasks:
|
|
file: '../tasks/postgres/create_database.yml'
|
|
vars:
|
|
database: "{{ item }}"
|
|
loop: "{{ dbs }}"
|
|
|
|
- name: Give the arrstack user full privs on the databases
|
|
ansible.builtin.include_tasks:
|
|
file: '../tasks/postgres/give_user_full_privs.yml'
|
|
vars:
|
|
user: arrstack
|
|
database: "{{ item }}"
|
|
loop: "{{ dbs }}"
|
|
|
|
- name: Ensure config directories exist
|
|
ansible.builtin.file:
|
|
path: "{{ item.dest | dirname }}"
|
|
state: directory
|
|
mode: '0777'
|
|
become: true
|
|
loop: "{{ configs }}"
|
|
|
|
- name: Copy configuration files
|
|
ansible.builtin.copy:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: javi
|
|
group: javi
|
|
mode: '0777'
|
|
loop: "{{ configs }}"
|
|
|
|
- name: Ensure docker compose folder exists
|
|
ansible.builtin.file:
|
|
path: /home/javi/docker/arrstack
|
|
state: directory
|
|
mode: '0777'
|
|
become: true
|
|
|
|
- name: Copy docker-compose.yml to server
|
|
ansible.builtin.copy:
|
|
src: '../docker/arrstack/docker-compose.yml'
|
|
dest: '/home/javi/docker/arrstack/docker-compose.yml'
|
|
owner: javi
|
|
group: javi
|
|
mode: '0777'
|
|
|
|
- name: Copy docker .env to server
|
|
ansible.builtin.copy:
|
|
src: '../docker/arrstack/.env'
|
|
dest: '/home/javi/docker/arrstack/.env'
|
|
owner: javi
|
|
group: javi
|
|
mode: '0777'
|
|
|
|
- name: Start up the containers
|
|
ansible.builtin.command: docker compose up -d
|
|
args:
|
|
chdir: /home/javi/docker/arrstack
|
|
become: true
|
|
|
|
# - name: Restart just in case
|
|
# ansible.builtin.command: docker compose restart
|
|
# args:
|
|
# chdir: /home/javi/docker/arrstack
|
|
# become: true
|