#cloud-config hostname: ${hostname} local-hostname: ${hostname} fqdn: ${hostname}.${domain} manage_etc_hosts: true groups: - git users: - default - name: ${hostname} groups: sudo,git shell: /bin/bash sudo: ALL=(ALL) NOPASSWD:ALL ssh_authorized_keys: - ${ssh_key} disable_root: true package_update: true package_upgrade: false packages: - git - nfs-common - curl - ca-certificates - gnupg - unzip - postgresql - postgresql-client mounts: - [ "192.168.1.12:/main/backups", "/backups", "nfs", "defaults,_netdev,x-systemd.requires=network-online.target", "0", "0" ] write_files: - path: /opt/environment/.env permissions: "0644" content: | ${env-file-content} - path: /usr/local/bin/restore-backup.sh permissions: "0755" content: | ${restore-backup-script} - path: /etc/systemd/system/restore-backup.service permissions: "0644" content: | ${restore-backup-service} - path: /usr/local/bin/backup.sh permissions: "0755" content: | ${create-backup-script} - path: /etc/systemd/system/create-backup.timer permissions: "0644" content: | ${create-backup-timer} - path: /etc/systemd/system/create-backup.service permissions: "0644" content: | ${create-backup-service} - path: /opt/n8n/install-n8n.sh permissions: "0755" content: | ${install-n8n-script} - path: /opt/n8n/install-docker.sh permissions: "0755" content: | ${install-docker-script} - path: /home/n8n/docker-compose.yaml permissions: "0755" content: | ${n8n-docker-compose} - path: /home/n8n/init-data.sh permissions: "0755" content: | ${n8n-init-data} runcmd: # Docker install - /opt/n8n/install-docker.sh # Backup setup - mkdir -p /backups - mount -t nfs ${proxmox_host_ip}:/main/backups /backups - systemctl enable --now create-backup.timer # Install n8n - /opt/n8n/install-n8n.sh final_message: | Base system ready for ${hostname}