!
This commit is contained in:
commit
bfbcb8d087
44
create-rocky-10.1-template.sh
Normal file
44
create-rocky-10.1-template.sh
Normal file
@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
IMAGE="./Rocky-10-GenericCloud-Base.latest.x86_64.qcow2"
|
||||
|
||||
TID=1009 # Template ID
|
||||
SIZE=50G # Disk size
|
||||
RAM=2048 # Memory in MB
|
||||
CORES=2 # CPU cores
|
||||
BRIDGE=vmbr0 # Network bridge
|
||||
STORAGE=local-lvm # Storage pool
|
||||
CUSER="rocky"
|
||||
CPASS="rocky"
|
||||
|
||||
|
||||
apt update
|
||||
apt install libguestfs-tools -y
|
||||
|
||||
virt-customize -a ${IMAGE} --install vim,bash-completion,wget,curl,qemu-guest-agent
|
||||
|
||||
virt-customize -a ${IMAGE} --run-command 'systemctl enable qemu-guest-agent'
|
||||
|
||||
virt-customize -a ${IMAGE} --timezone "UTC"
|
||||
|
||||
virt-customize -a $IMAGE --selinux-relabel
|
||||
virt-customize -a $IMAGE --run-command ' sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config'
|
||||
|
||||
|
||||
qm create $TID --memory $RAM --cores $CORES --net0 virtio,bridge=$BRIDGE --scsihw virtio-scsi-pci --cpu host
|
||||
|
||||
qemu-img resize ${IMAGE} $SIZE
|
||||
|
||||
qm importdisk $TID ${IMAGE} $STORAGE
|
||||
qm set $TID --scsihw virtio-scsi-pci --virtio0 $STORAGE:vm-$TID-disk-0
|
||||
|
||||
qm set $TID --ide2 $STORAGE:cloudinit --boot c --bootdisk virtio0 --serial0 socket --vga serial0 --agent 1
|
||||
qm set $TID --ipconfig0 ip=dhcp --cipassword "${CPASS}" --ciuser "${CUSER}"
|
||||
|
||||
qm set $TID --name Rocky-10-Template
|
||||
|
||||
mkdir -p "/var/lib/vz/snippets"
|
||||
cp -vf home-assistant-user-data.yml /var/lib/vz/snippets/custom_cloudinit_rocky10_ha.yml
|
||||
qm set $TID --cicustom "user=local:snippets/custom_cloudinit_rocky10_ha.yml"
|
||||
|
||||
qm template $TID
|
||||
42
home-assistant-user-data.yml
Normal file
42
home-assistant-user-data.yml
Normal file
@ -0,0 +1,42 @@
|
||||
#cloud-config
|
||||
users:
|
||||
- name: homeadmin
|
||||
ssh-authorized-keys:
|
||||
- ssh-ed25519 A... e@d
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||
groups: sudo, wheel
|
||||
shell: /bin/bash
|
||||
|
||||
package_update: true
|
||||
package_upgrade: true
|
||||
|
||||
packages:
|
||||
- yum-utils
|
||||
- device-mapper-persistent-data
|
||||
- lvm2
|
||||
- kernel-modules-extra
|
||||
- iptables-services
|
||||
|
||||
timezone: UTC
|
||||
|
||||
runcmd:
|
||||
- dnf install -y kernel-modules-extra-$(uname -r)
|
||||
- dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
||||
- dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
||||
- systemctl enable --now docker
|
||||
- mkdir -p /opt/homeassistant
|
||||
- cd /opt/homeassistant && docker compose up -d
|
||||
|
||||
write_files:
|
||||
- path: /opt/homeassistant/docker-compose.yaml
|
||||
content: |
|
||||
services:
|
||||
homeassistant:
|
||||
container_name: homeassistant
|
||||
image: "ghcr.io/home-assistant/home-assistant:stable"
|
||||
volumes:
|
||||
- /opt/homeassistant/config:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
restart: always
|
||||
privileged: true
|
||||
network_mode: host
|
||||
Loading…
x
Reference in New Issue
Block a user