playbook v2

This commit is contained in:
tolerryan
2025-02-08 00:53:50 -06:00
parent 20bcae7e59
commit 5280917440
2 changed files with 33 additions and 106 deletions

26
nas.tf
View File

@@ -24,13 +24,6 @@ resource "proxmox_vm_qemu" "nas" {
memory = 4024 memory = 4024
disks { disks {
#ide {
# ide0 {
# cdrom {
# iso = "cephfs:iso/debian-12.9.0-amd64-netinst.iso"
# }
# }
#}
scsi { scsi {
scsi0 { scsi0 {
disk { disk {
@@ -51,23 +44,6 @@ resource "proxmox_vm_qemu" "nas" {
} }
} }
virtio { virtio {
#virtio2 {
# cdrom {
# iso = "cephfs:iso/debian-12.9.0-amd64-netinst.iso"
# }
#}
#virtio0 {
# #This must match the template's drive or it will not use template's drive as root
# #root disk
# disk{
# asyncio = "native"
# discard = "true"
# iothread = "true"
# size = "42G"
# storage = "local-lvm"
# format = "raw"
# }
#}
virtio0 { virtio0 {
#bulk disk #bulk disk
disk { disk {
@@ -75,7 +51,7 @@ resource "proxmox_vm_qemu" "nas" {
backup = "false" backup = "false"
iothread = "true" iothread = "true"
size = "8T" size = "8T"
storage = "local-lvm" storage = "watari"
format = "raw" format = "raw"
} }
} }

View File

@@ -10,8 +10,8 @@
- name: Upgrade-packages.yml - update packages - name: Upgrade-packages.yml - update packages
include: ../../lib/upgrade-packages.yml include: ../../lib/upgrade-packages.yml
- name: Install-docker.yml - setting up docker #- name: Install-docker.yml - setting up docker
include: ../../lib/install-docker.yml # include: ../../lib/install-docker.yml
- name: Install Restic and setup - name: Install Restic and setup
include: ../../lib/setup-restic.yml include: ../../lib/setup-restic.yml
@@ -19,95 +19,46 @@
- name: Setup Restic Cron jobs - name: Setup Restic Cron jobs
include: ../../lib/setup-restic-cron.yml include: ../../lib/setup-restic-cron.yml
- name: Create grail user - name: Add OpenMediaVault repository key
user: ansible.builtin.get_url:
name: grail url: https://packages.openmediavault.org/public/archive.key
uid: 2003 dest: /usr/share/keyrings/openmediavault-archive-keyring.gpg
group: docker mode: '0644'
state: present force: true
create_home: yes
home: /data
shell: /bin/bash
- name: Install nfs Packages - name: Add OMV repository
apt: ansible.builtin.apt_repository:
name: filename: openmediavault
- nfs-common repo: "{{ omv_repo }}"
state: present state: present
update_cache: no key:
url: "{{ omv_key_url }}"
- name: Install Python Packages - name: Install Python Packages
apt: ansible.builtin.apt:
name: name:
- python3-full - python3-full
- python3-pip - python3-pip
state: present state: present
update_cache: yes update_cache: yes
- name: Setup Service # Install OMV prerequisites
copy: - name: Install required packages
dest: /etc/systemd/system/grail.service ansible.builtin.apt:
content: | name:
[Unit] - apt-transport-https
Description=Docker Compose service - ca-certificates
Requires=docker.service - gnupg
After=docker.service state: present
[Service] - name: Install OpenMediaVault
Type=oneshot ansible.builtin.apt:
RemainAfterExit=yes name: openmediavault
WorkingDirectory=/home/grail state: present
ExecStart=/usr/bin/docker compose --env-file ./docker-compose.env -f docker-compose.yml up -d
ExecStop=/usr/bin/docker compose --env-file ./docker-compose.env -f docker-compose.yml down
[Install] # Enable and start OMV services
WantedBy=multi-user.target - name: Enable OMV services
owner: root ansible.builtin.systemd:
group: root name: openmediavault.service
mode: '0644'
- name: Create /home/grail/
ansible.builtin.file:
path: /home/grail
owner: grail
group: docker
state: directory
- name: Write docker-compose.yml
ansible.builtin.copy:
src: docker-compose.yml
dest: /home/grail/docker-compose.yml
owner: grail
group: docker
mode: u=rw,g=r,o=r
- name: Write docker-compose.env
ansible.builtin.copy:
src: docker-compose.env
dest: /home/grail/docker-compose.env
owner: grail
group: docker
mode: u=rw,g=r,o=r
- name: Check if docker config directory exists
stat:
path: /home/grail/docker/qbittorrent
register: grail_stat
- name: Restore docker config Dir
shell: |
restic --password-file /home/restic/.resticpassword -r sftp:misamisa://home/restic/$(hostname) --target / restore latest
args:
chdir: /home/grail/
creates: /home/grail/qbitorrent
when: not grail_stat.stat.exists or not grail_stat.stat.isdir
- name: Reload systemd daemon
systemd:
daemon_reload: yes
- name: Start grail Service
systemd:
name: grail
state: started
enabled: yes enabled: yes
state: started