homelab/plays/emma.yml

232 lines
6.9 KiB
YAML

- name: Set up static IP
hosts: emma
become: yes
roles:
- role: any.common.static-ip
vars:
interface: 'enp1s0'
static_ip: '192.168.0.2'
broadcast_ip: '192.168.0.255'
router_ip: '192.168.0.1'
- any.common.ssh
- any.tools.ufw
tags: networking
- name: Configure BTRFS RAID
hosts: emma
become: yes
roles:
- any.common.raid
tags: raid
- name: Set up Jellyfin
hosts: emma
become: yes
roles:
- any.software.jellyfin
tags: jellyfin
- name: Set up Miniflux
hosts: emma
become: yes
tags: miniflux
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/miniflux/postgres"
- role: any.software.miniflux-podman
vars:
postgres_data_dir: '/data/miniflux/postgres'
- name: Set up WebDAV
hosts: emma
become: yes
tags: webdav
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_raid.uuid }}"
filesystem_path: "{{ btrfs_raid.path }}"
name: "/webdav/data"
- role: any.software.webdav
vars:
webdav_version: '5.7.4'
data_dir: '{{ btrfs_raid.path }}/webdav/data'
webdav_user: "{{ vault_webdav_user }}"
webdav_password: "{{ vault_webdav_password }}"
webdav_password_bcrypt: "{{ vault_webdav_password_bcrypt }}"
- name: Set up Gitea
hosts: emma
become: yes
tags: gitea
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
# Data files and LFS are placed on RAID
- filesystem_uuid: "{{ btrfs_raid.uuid }}"
filesystem_path: "{{ btrfs_raid.path }}"
name: "/gitea/data"
- filesystem_uuid: "{{ btrfs_raid.uuid }}"
filesystem_path: "{{ btrfs_raid.path }}"
name: "/gitea/lfs"
# Repositories and database are stored in NVME
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/gitea/repositories"
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/gitea/postgres"
- role: any.software.gitea
vars:
gitea_data_dir: '{{ btrfs_raid.path }}/gitea/data'
gitea_lfs_dir: '{{ btrfs_raid.path }}/gitea/lfs'
gitea_repositories_dir: '{{ btrfs_nvme.path }}/data/gitea/repositories'
postgres_data_dir: '{{ btrfs_nvme.path }}/data/gitea/postgres'
- name: Set up Otter
hosts: emma
become: yes
tags: otter
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/otter/data"
- role: any.software.otter
vars:
data_dir: '{{ btrfs_nvme.path }}/data/otter/data'
- name: Set up Nefarious
hosts: emma
become: yes
tags: nefarious
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_raid.uuid }}"
filesystem_path: "{{ btrfs_raid.path }}"
name: "/nefarious/nefarious"
- filesystem_uuid: "{{ btrfs_raid.uuid }}"
filesystem_path: "{{ btrfs_raid.path }}"
name: "/nefarious/jackett"
- role: any.software.nefarious-podman
vars:
host_download_dir: "/mnt/data1/media"
transmission_settings_path: "/etc/nefarious/transmission-settings.json"
nefarious_config_dir: "/mnt/data1/nefarious/nefarious"
jackett_data_dir: "/mnt/data1/nefarious/jackett"
nefarious_admin_user: "{{ vault_nefarious_admin_user }}"
nefarious_admin_pass: "{{ vault_nefarious_admin_pass }}"
- name: Set up Actual
hosts: emma
tags: actual
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/actual/data"
become: true
- role: any.software.actual-podman
vars:
data_dir: '/data/actual/data'
- name: Set up Baikal
hosts: emma
tags: baikal
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/baikal/config"
become: true
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/baikal/Specific"
become: true
- role: any.software.baikal-podman
vars:
baikal_config_dir: '/data/baikal/config'
baikal_specific_dir: '/data/baikal/Specific'
- name: Set up Syncthing
hosts: emma
tags: syncthing
become: true
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_raid.uuid }}"
filesystem_path: "{{ btrfs_raid.path }}"
name: "/syncthing/data"
- filesystem_uuid: "{{ btrfs_raid.uuid }}"
filesystem_path: "{{ btrfs_raid.path }}"
name: "/syncthing/config"
- filesystem_uuid: "{{ btrfs_raid.uuid }}"
filesystem_path: "{{ btrfs_raid.path }}"
name: "/syncthing/home"
- role: any.software.syncthing
vars:
syncthing_data_dir: '/mnt/data1/syncthing/data'
syncthing_home_dir: '/mnt/data1/syncthing/home'
syncthing_config_dir: '/mnt/data1/syncthing/config'
- name: Set up Monica
hosts: emma
tags: monica
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/monica/data"
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/monica/mariadb"
become: true
- role: any.software.monica-podman
vars:
monica_data_dir: '/data/monica/data'
mariadb_data_dir: '/data/monica/mariadb'
# - role: any.software.syncthing
# vars:
# syncthing_data_dir: '/mnt/data1/syncthing/data'
# syncthing_home_dir: '/mnt/data1/syncthing/home'
# syncthing_config_dir: '/mnt/data1/syncthing/config'
#
- name: Set up Recipya
hosts: emma
tags: recipya
roles:
- role: any.common.btrfs-subvolumes
vars:
subvolumes:
- filesystem_uuid: "{{ btrfs_nvme.uuid }}"
filesystem_path: "{{ btrfs_nvme.path }}"
name: "/@rootfs/data/recipya/data"
become: true
- role: any.software.recipya-podman
vars:
data_dir: '/data/recipya/data'