Back up /root/cert alongside letsencrypt, and on restore recreate the
webCertFile symlinks from the DB for older backups that lack them —
without them x-ui serves plain HTTP and every nginx proxy_pass https://
(panel + diag bridge) breaks.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
On Ubuntu 24.10+ /tmp is a size-limited tmpfs, so mktemp -d staging could
not hold the uncompressed copy of the panel, web roots and certs. Stage
backup/restore work dirs inside /var/backups/x-ui instead, and verify
free space (2x estimated size + 100 MB margin) before touching anything.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>