From c838e19c84a0411e180beb820579fb7876ccc6a8 Mon Sep 17 00:00:00 2001 From: Javier Feliz Date: Tue, 25 Mar 2025 12:51:36 -0400 Subject: [PATCH] Updates --- hosts.yml | 10 +- playbooks/apps/arrstack.yml | 181 +++++++++++------------ playbooks/distribute_ssh_key.yml | 10 -- playbooks/server/base.yml | 2 +- playbooks/standard_user.yml | 16 -- playbooks/wizarr.yml | 39 ----- roles/server/setup/sshkey/tasks/main.yml | 6 + 7 files changed, 99 insertions(+), 165 deletions(-) delete mode 100644 playbooks/distribute_ssh_key.yml delete mode 100644 playbooks/standard_user.yml delete mode 100644 playbooks/wizarr.yml diff --git a/hosts.yml b/hosts.yml index fb2566e..c23549d 100644 --- a/hosts.yml +++ b/hosts.yml @@ -5,22 +5,16 @@ all: hosts: node1: ansible_host: 10.89.0.13 - node2: - ansible_host: 10.89.0.11 node3: ansible_host: 10.89.0.12 nas: ansible_host: 10.89.0.15 - virtual_machines: + vms: hosts: portainer_main: ansible_host: 10.89.0.101 prod_services: - ansible_host: 11.89.0.102 - stash: - ansible_host: 10.89.0.103 - plane_so: - ansible_host: 10.89.0.104 + ansible_host: 10.89.0.102 dev_services: ansible_host: 10.89.0.105 streaming_services: diff --git a/playbooks/apps/arrstack.yml b/playbooks/apps/arrstack.yml index 88a7a6a..97826f5 100644 --- a/playbooks/apps/arrstack.yml +++ b/playbooks/apps/arrstack.yml @@ -3,106 +3,105 @@ hosts: streaming vars: apps: - - sonarr + - 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' + - 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 + - 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: 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 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: 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: 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: 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: 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: 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-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: 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 + - 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 diff --git a/playbooks/distribute_ssh_key.yml b/playbooks/distribute_ssh_key.yml deleted file mode 100644 index 70c679e..0000000 --- a/playbooks/distribute_ssh_key.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Distribute SSH public key to my hosts - hosts: all - become: true - tasks: - - name: Add SSH key for remote user - ansible.posix.authorized_key: - user: javi - state: present - key: "{{ lookup('file', '/home/javi/.ssh/homelab_keypair_ed25519.pub') }}" diff --git a/playbooks/server/base.yml b/playbooks/server/base.yml index b937573..4ad323a 100644 --- a/playbooks/server/base.yml +++ b/playbooks/server/base.yml @@ -1,6 +1,6 @@ --- - name: Set up a new virtual machine - hosts: all + hosts: vms become: true roles: - role: docker/install diff --git a/playbooks/standard_user.yml b/playbooks/standard_user.yml deleted file mode 100644 index d7cbe4c..0000000 --- a/playbooks/standard_user.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: Create standardized admin on all hosts - hosts: virtual_machines - become: true - vars: - username: serveradmin - password: "Cinnamonbun89$" - tasks: - - name: Create the standard user on the host - ansible.builtin.user: - name: "{{ username }}" - state: present - shell: /bin/bash - create_home: true - groups: sudo - append: true \ No newline at end of file diff --git a/playbooks/wizarr.yml b/playbooks/wizarr.yml deleted file mode 100644 index 3e5c672..0000000 --- a/playbooks/wizarr.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -- name: Set up wizarr - hosts: streaming_services - become: true - tasks: - - name: Create app DB - ansible.builtin.include_tasks: - file: '../tasks/create_app_db.yml' - vars: - app: wizarr - - - name: Make sure UUID PG extension is installed - ansible.builtin.include_tasks: - file: '../tasks/postgres/install_extension.yml' - vars: - extension: uuid-ossp - database: wizarr - - - name: Ensure config directories exist - ansible.builtin.file: - path: "{{ item }}" - state: directory - mode: '0777' - loop: - - '/home/docker/wizarr' - - '/home/javi/docker/wizarr' - - - name: Copy docker-compose.yml to server - ansible.builtin.copy: - src: '../docker/wizarr/docker-compose.yml' - dest: '/home/javi/docker/wizarr/docker-compose.yml' - owner: javi - group: javi - mode: '0777' - - - name: Start up the containers - ansible.builtin.command: docker compose up -d - args: - chdir: /home/javi/docker/wizarr \ No newline at end of file diff --git a/roles/server/setup/sshkey/tasks/main.yml b/roles/server/setup/sshkey/tasks/main.yml index e69de29..fbb2fa0 100644 --- a/roles/server/setup/sshkey/tasks/main.yml +++ b/roles/server/setup/sshkey/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- name: Add SSH key for remote user + ansible.posix.authorized_key: + user: javi + state: present + key: "{{ lookup('file', '/home/javi/.ssh/homelab_keypair_ed25519.pub') }}" \ No newline at end of file