playbook v2
This commit is contained in:
26
nas.tf
26
nas.tf
@@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user