June 18Jun 18 BombVault – the only backup & recovery tool you need for UnraidYour Unraid data, sealed in a vault — armed with a fuse. What is this?BombVault is a single-binary, Unraid-native web app for one-click backup and full disaster recovery of your Docker containers, KVM/libvirt VMs and the Unraid flash — all powered by restic. The restore is the star: a backed-up container automatically reappears in the Docker tab and a VM in the VM Manager, exactly as before — no manual reinstall, no reconfiguration, even after you deleted it. Everything (backup paths, encryption on/off, schedule, retention) is configured in the modern dark web UI; nothing to hand-edit.HighlightsThree domains, one app — Docker containers (appdata + definition), KVM/libvirt VMs (disks + XML + UEFI NVRAM), and the whole Unraid flash (/boot)Restore that re-installs for you — containers are replayed against the Docker API and VMs re-defined in the VM Manager, so they come back exactly as they wereVM backup with no libvirt mount — BombVault runs virsh on the host over SSH (qemu+ssh://), so it can never disturb your VM Manager; graceful-shutdown or live (guest-agent) snapshotsOff-site repos — rclone (Backblaze B2, S3, Google Drive, …) plus SMB/NFS; the rclone config is stored encryptedRetention — keep-last / daily / weekly / monthly, auto-pruned after each backupFile-level restore — browse a container snapshot and restore a single file back to its original locationIntegrity checks (restic check) and pre/post-backup hooks (e.g. mysqldump for an app-consistent backup)Incremental, deduplicated and always encrypted (encryption is optional); pre-flight IP/port conflict check before a restorePer-domain scheduling, HTTPS out of the box, optional password, English + German UIMulti-arch — amd64 + arm64. Image: ghcr.io/junkerderprovinz/bombvault:latestRequirementsUnraid 6.12+The template mounts the Docker socket, your storage root (/mnt) and the flash (/boot) automatically — backup sources and destinations both live under /mnt; pick the exact subpaths in the WebUIA required APP_KEY — generate with openssl rand -hex 32. It derives the restic password, so keep it safe: losing it makes encrypted backups unrecoverableVM backup is opt-in — it talks to libvirt over SSH, so authorize BombVault's key on the host once (Settings → VM Backup over SSH shows a ready-to-paste command + a Test button). No libvirt mount neededTrusted LAN only: BombVault holds root-equivalent control of your host (via docker.sock and the /mnt mount). Run it on a non-exposed network; optional password protection is in Settings (off by default)Posting a bug reportPlease post:Unraid version (Settings → System Information)Image tag (latest or a pinned vX.Y.Z)Output of docker logs --tail 200 BombVaultWhich domain (containers / VMs / flash) and what you were doing (backup / restore)For VM issues: the result of Settings → VM Backup over SSH → Test connectionBrowser + OS you're usingGitHub issues with the same info are also welcome: github.com/junkerderprovinz/bombvault/issuesCreditsThe core idea — one-click backup and automatic re-install of Docker containers — comes from VolumeVault by @Darkdragon14 (Apache-2.0). BombVault is an independent Go + restic rewrite that extends the concept to VMs and the Unraid flash. Built on restic (engine) and rclone (off-site). If BombVault saves your bacon, you can buy me a coffee.Self-hosted, MIT-licensed. BombVault has root-equivalent control of your host — you run it, you own your data and the responsibility.
June 18Jun 18 tried it, ssh connection test was OK. But when trying to backup VM I get an "error 400" on some vm's. Didn't want to fiddle around and uninstalled as I'm backing up via scripts anyway.There as a new Bombvault datastore created on m main zfs volume, which I had to delete via cli! Nowhere is a mention of a datastore being created....Waiting on some more users trying this before I hand over control of my server...... Edited June 18Jun 18 by manilx
June 18Jun 18 Author 4 hours ago, manilx said:tried it, ssh connection test was OK. But when trying to backup VM I get an "error 400" on some vm's. Didn't want to fiddle around and uninstalled as I'm backing up via scripts anyway.There as a new Bombvault datastore created on m main zfs volume, which I had to delete via cli! Nowhere is a mention of a datastore being created....Waiting on some more users trying this before I hand over control of my server......Thanks for trying it, and for the blunt feedback! 🙏The "error 400 on some VMs" was a real bug: VM names with a space (e.g. Windows 11) got rejected by a too-strict name check. Fixed in v1.3.4, spaced names back up fine now.The mystery "datastore" is just the restic backup repo, it defaults to /mnt/user/bombvault/ (changeable in Settings → Backup paths). Fair point that it wasn't mentioned anywhere, now spelled out in the description + README.No pressure to switch from your scripts, but if you fancy another go, grab v1.3.4/:latest and it should just work. 👍
June 18Jun 18 Reinstalled. Set HTTP_ONLY to true. Webui defaults to https. I have to manually change https://[IP]:[PORT:3443]/
June 18Jun 18 Did a test container backup. I didn't find any display of progression. Finished.It started the container, which was stopped before the backup. Shouldn't.Deleted it, also appdata. Restored it, again no feedback until the end. restored OK and started, shouldn't. Edited June 18Jun 18 by manilx
June 18Jun 18 Big question regarding docker backups:which folders are backed by default, appdata i guess, what about other bind mounts? They should backup also ( and ideally be able to choose to include/exclude).If bind mounts are excluded there should another option to backup select folders..... Edited June 18Jun 18 by manilx
June 18Jun 18 Tried backing up a Windows Server vm (live). Failed. No indication anywhere why.....Done my testing for now. Back to working backups ;)Shows promises but has a longer way to go.
June 19Jun 19 Author 3 hours ago, manilx said:Tried backing up a Windows Server vm (live). Failed. No indication anywhere why.....Done my testing for now. Back to working backups ;)Shows promises but has a longer way to go.Hey, thanks a lot for taking the time to test this properly and write it all up. That kind of detailed feedback is exactly what I needed. Most of it is sorted in the latest version, so here's where things stand.The big one you caught: a backup was starting a container that had been stopped beforehand. That was a real bug and it's fixed now. A stopped container gets backed up in place and stays stopped, and a running one gets stopped for a clean backup and started again afterwards. Restore behaves the same way now, it brings the container back in the exact state it was in when you backed it up instead of always starting it.You also said there was no sign of anything happening during a backup or restore. There's now a live progress bar on each container, VM and flash card that fills up as the job runs, for both backup and restore, so you can actually see how far along it is.On the HTTP_ONLY setting: when it's on, the WebUI link still points at https, so for now you have to open http://[ip]:[port] yourself. I've noted that in the template description.For the Windows VM backup that failed without telling you why, I improved the error reporting, so instead of restic's generic "please open an issue" line you now get the real reason in the UI. About that specific failure: if the message is something like "detected data corruption while saving blob ... hash mismatch", that one is worth a closer look. restic checks every chunk it writes, and that error means the data changed in memory between being read and being written. If you run the backup a few times and it fails on a different block each time, while the disk file itself reads back identical when the VM is off, that points at the RAM rather than at the tool or the disk. The good news is restic refuses to store a corrupt backup, so nothing bad got saved. I'd run MemTest86 (it's in the Unraid boot menu), and if you're using an XMP or EXPO memory profile, try turning it off and testing again. That fixes this kind of thing more often than you'd expect.On backing up other folders: right now it automatically grabs the container's appdata. Choosing which of the container's other mapped folders to include or exclude, plus adding your own paths, is the next feature I'm working on. The Backup Hooks field isn't for that, by the way, it just runs a command around the backup (like dumping a database into appdata so it gets picked up), it doesn't add folders. I made that description clearer too.Good to hear the flash backup and the stopped-VM snapshot both worked for you.And yeah, it's still got room to grow, no argument there. Thanks again for pushing on it, it genuinely makes the thing better. Let me know how the next version treats you.
June 19Jun 19 This is the error I get on VM backups: vm live backup: snapshot: virshcli: snapshot-create-as: error: unsupported configuration: external snapshot file for disk hdc already exists and is not a block device: [path] Server 2022[path]In this server I have only a zfs pool on which all resides:My vm backup script uses zfs snapshots to backup. Edited June 19Jun 19 by manilx
June 19Jun 19 P.S. backup hooks. In Backrest i can run a shell script as hook that shuts down certain containers (databases) before the backup and restarts them after.Something like this is needed.
June 19Jun 19 Backed up all my containers on 2 servers. Both did run without any error message displayed. But on the dashboard i get some with error. Problem is I can't tell which one it is and I can't display the error. Not useful....Looking at them I see that some have no backups attached.When I force a backup on those I get: restic backup failed: Fatal: all source directories[path] do not exist Edited June 19Jun 19 by manilx
June 19Jun 19 Just tried latest update, still get errors on containers, which do not have an appdata folder. But it should just back up the settings!
June 20Jun 20 Hallo 😉 you done a lot! Tested latest version:Docker backups with additional folders OK.One thing here, if the container has no data folder it says it is backed up but no backup is created, should be mentioned in the interface somehow (one expects the config/yaml to be nacked up anyway as the backup plugin does).VM backups, Graceful works but I have 2 VM's that do not backup live:
June 20Jun 20 On my second server I also backed up but I have this in the dashboard:Corrupted sqlite db? Edited June 20Jun 20 by manilx
June 20Jun 20 P.S. One VM, which did backup live just fine now has the same error as above and does no longer backup. I can't shutdown this one for backup.I'm seeing the progress here but I'll stop for now and revisit in a few months time. It's in alpha stage in my feeling right now. And backups are to critical a thing......
June 20Jun 20 Author Hey @manilx , thanks again for all the testing and the clear write-ups, that feedback shaped a whole release. I bundled everything into 2.0.0, just force-update the container in the Docker tab to pull it. Here's what's in there for the things you ran into:- "Failed to load runs": fixed, and good news, it's not a corrupted database. A backup that was still running or got interrupted left a record the run history couldn't read, and that one record broke the whole list. It loads fine again after updating, no reset needed. Interrupted runs also get tidied up on startup now instead of sitting there as "running" forever.- Containers with no data folder: they now show "Config only" instead of a plain "done", so it's clear no data snapshot was made (the container definition is still saved, so it can be recreated). And there's a new per-container Export button that drops a plain <name>.tar.gz + <name>.xml next to your repo, same idea as the Appdata Backup plugin, if you want the config/settings as readable files.- Containers without an appdata folder no longer fail with "all source directories do not exist".- The dashboard now shows which container/VM a run was for, and the error message when one fails, instead of an opaque snapshot id.- Stop other containers during a backup: each container has a field where you can list other containers (like a database) to stop while it's backed up and start again after. Covers the backrest-style use case, over the Docker API, no scripts.- VM live backups, two things. First, cd-rom / read-only disks are skipped during the snapshot now. Second, and this is the big one for your two VMs: if a live snapshot still can't be created, BombVault automatically falls back to a graceful backup instead of erroring out, so the backup always completes.So those two VMs should just back up now (they may quietly fall back to graceful, which means a short shutdown during the backup). If you'd rather keep them truly live, the snapshot is failing because of how one of their disks is set up. Grab "virsh dumpxml VMNAME" from the Unraid terminal and post it, and I'll get that disk classified properly.One more on the earlier "hash mismatch" on the Windows 11 VM: that one points at the host (RAM or the cache pool), not BombVault. BombVault actually caught it and refused to store a corrupt backup. A MemTest86 run is worth it when you get the chance.Thanks again, this was a great batch of feedback.
June 20Jun 20 This is one:<domain type='kvm' id='7'> <name>Windows Server 2022</name> <uuid>8ab129f6-30ae-2191-b439-4e06ad06e17d</uuid> <metadata> <vmtemplate xmlns="http://unraid" name="Windows Server 2016" iconold="windows.png" icon="windows.png" os="windows2016" webui="" storage="default"/> </metadata> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>1</vcpu> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-9.2'>hvm</type> <loader readonly='yes' type='pflash' format='raw'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram format='raw'>/etc/libvirt/qemu/nvram/8ab129f6-30ae-2191-b439-4e06ad06e17d_VARS-pure-efi.fd</nvram> </os> <features> <acpi/> <apic/> <hyperv mode='custom'> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vpindex state='on'/> <synic state='on'/> <stimer state='on'/> <vendor_id state='on' value='none'/> </hyperv> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' clusters='1' cores='1' threads='1'/> <cache mode='passthrough'/> </cpu> <clock offset='localtime'> <timer name='hpet' present='no'/> <timer name='hypervclock' present='yes'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='writeback' discard='unmap'/> <source file='/mnt/user/domains/Windows Server 2022/vdisk1.bombvault-tmp' index='2'/> <backingStore type='file' index='3'> <format type='qcow2'/> <source file='/mnt/user/domains/Windows Server 2022/vdisk1.qcow2'/> <backingStore/> </backingStore> <target dev='hdc' bus='virtio'/> <serial>vdisk1</serial> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source index='1'/> <target dev='hdb' bus='sata'/> <readonly/> <alias name='sata0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='sata' index='0'> <alias name='sata0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:45:86:4a'/> <source bridge='br0'/> <target dev='vnet6'/> <model type='virtio-net'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/0'> <source path='/dev/pts/0'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/run/libvirt/qemu/channel/7-Windows Server 2022/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <graphics type='vnc' port='5900' autoport='yes' websocket='5701' listen='0.0.0.0' sharePolicy='ignore'> <listen type='address' address='0.0.0.0'/> </graphics> <audio id='1' type='none'/> <video> <model type='qxl' ram='65536' vram='16384' vgamem='16384' heads='1' primary='yes'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/> </video> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel></domain>And the other one, worked live for one backup than didn't:<domain type='kvm' id='6'> <name>Tailscale</name> <uuid>ac760bc7-e0f7-1a61-6539-cc62a39a9a01</uuid> <metadata> <vmtemplate xmlns="http://unraid" name="Debian" iconold="tailscale.png" icon="tailscale.png" os="debian" webui="" storage="default"/> </metadata> <memory unit='KiB'>1048576</memory> <currentMemory unit='KiB'>1048576</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>1</vcpu> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-9.2'>hvm</type> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' clusters='1' cores='1' threads='1'/> <cache mode='passthrough'/> </cpu> <clock offset='utc'> <timer name='hpet' present='no'/> <timer name='hypervclock' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='writeback' discard='unmap'/> <source file='/mnt/zfs/domains/Tailscale/vdisk1.qcow2' index='1'/> <backingStore/> <target dev='hdc' bus='virtio'/> <serial>vdisk1</serial> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <controller type='pci' index='0' model='pcie-root'> <alias name='pcie.0'/> </controller> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x8'/> <alias name='pci.1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9'/> <alias name='pci.2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0xa'/> <alias name='pci.3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0xb'/> <alias name='pci.4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0xc'/> <alias name='pci.5'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <controller type='sata' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <interface type='bridge'> <mac address='52:54:00:19:f6:e6'/> <source bridge='br0'/> <target dev='vnet5'/> <model type='virtio-net'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/1'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/run/libvirt/qemu/channel/6-Tailscale/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <graphics type='vnc' port='5901' autoport='yes' websocket='5700' listen='0.0.0.0' keymap='pt' sharePolicy='ignore'> <listen type='address' address='0.0.0.0'/> </graphics> <audio id='1' type='none'/> <video> <model type='virtio' heads='1' primary='yes'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/> </video> <watchdog model='itco' action='reset'> <alias name='watchdog0'/> </watchdog> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </memballoon> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel></domain>
June 20Jun 20 And Home Assistant, this I really don't want to shutdown during backup (I don't with scripts backup, just use zfs snapshit):<domain type='kvm' id='3'> <name>Home Assistant</name> <uuid>654b4761-b1dc-4680-8fd0-b6be94d7a0f4</uuid> <metadata> <vmtemplate xmlns="http://unraid" name="Linux" icon="Hassio_2.png" os="linux" iconold="Hassio_2.png" webui="http://192.168.2.40:8123"/> </metadata> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>4</vcpu> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-9.2'>hvm</type> <loader readonly='yes' type='pflash' format='raw'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram format='raw'>/etc/libvirt/qemu/nvram/654b4761-b1dc-4680-8fd0-b6be94d7a0f4_VARS-pure-efi.fd</nvram> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' clusters='1' cores='2' threads='2'/> <cache mode='passthrough'/> </cpu> <clock offset='utc'> <timer name='hpet' present='no'/> <timer name='hypervclock' present='no'/> <timer name='pit' tickpolicy='delay'/> <timer name='rtc' tickpolicy='catchup'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='writeback' discard='ignore'/> <source file='/mnt/zfs/domains/Home Assistant/vdisk1.img' index='1'/> <backingStore/> <target dev='hdc' bus='virtio'/> <serial>vdisk1</serial> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <controller type='pci' index='0' model='pcie-root'> <alias name='pcie.0'/> </controller> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x8'/> <alias name='pci.1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9'/> <alias name='pci.2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0xa'/> <alias name='pci.3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0xb'/> <alias name='pci.4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0xc'/> <alias name='pci.5'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <controller type='sata' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <interface type='bridge'> <mac address='ac:87:a3:7b:92:f0'/> <source bridge='br0'/> <target dev='vnet2'/> <model type='virtio-net'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/2'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/2'> <source path='/dev/pts/2'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/run/libvirt/qemu/channel/3-Home Assistant/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <graphics type='vnc' port='5902' autoport='yes' websocket='5702' listen='0.0.0.0' keymap='en-us' sharePolicy='ignore'> <listen type='address' address='0.0.0.0'/> </graphics> <audio id='1' type='none'/> <video> <model type='qxl' ram='131072' vram='65536' vram64='64512' vgamem='65536' heads='1' primary='yes'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/> </video> <watchdog model='itco' action='reset'> <alias name='watchdog0'/> </watchdog> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </memballoon> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel></domain>
June 20Jun 20 16 minutes ago, Junker der Provinz said:- Containers without an appdata folder no longer fail with "all source directories do not exist".I don't see that.What I see for example is this:This container has no appdata, the folder shown here does not exist. When I delete it, it is put in there again.
June 20Jun 20 I've just seen that my VM disk was changed!!!!!!Had to manually edit the yaml to correct this Edited June 20Jun 20 by manilx
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.