[PR #331] [MERGED] feat: Add LXC container backup functionality #363

Closed
opened 2025-11-20 04:14:22 -05:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/community-scripts/ProxmoxVE-Local/pull/331
Author: @michelroegl-brunner
Created: 11/18/2025
Status: Merged
Merged: 11/18/2025
Merged by: @michelroegl-brunner

Base: mainHead: feat/lxc_backups


📝 Commits (10+)

  • 4ea49be Initial for Backup function
  • d50ea55 Add LXC container backup functionality
  • 4a50da4 Add backup discovery tab with support for local and storage backups
  • eda41e5 Implement PBS authentication support for backup discovery
  • 63174d2 Fix PBS backup discovery command and authentication
  • 33a5b8e PBS restore working :)
  • 570eea4 Implement real-time restore progress updates with polling
  • 5be88d3 chore: cleanup debug output from backup modals
  • 5d48c7b Merge branch 'main' into feat/lxc_backups
  • 3a8088d chore: add missing migration for backups and pbs_storage_credentials tables

📊 Changes

24 files changed (+4279 additions, -58 deletions)

View changed files

prisma/migrations/20251118091618_add_backups_and_pbs_credentials/migration.sql (+41 -0)
📝 prisma/schema.prisma (+38 -0)
restore.log (+10 -0)
📝 server.js (+209 -5)
src/app/_components/BackupWarningModal.tsx (+67 -0)
src/app/_components/BackupsTab.tsx (+503 -0)
📝 src/app/_components/InstalledScriptsTab.tsx (+275 -31)
📝 src/app/_components/LoadingModal.tsx (+63 -15)
src/app/_components/PBSCredentialsModal.tsx (+296 -0)
📝 src/app/_components/ScriptInstallationCard.tsx (+11 -0)
📝 src/app/_components/ServerList.tsx (+30 -1)
src/app/_components/ServerStoragesModal.tsx (+227 -0)
src/app/_components/StorageSelectionModal.tsx (+168 -0)
📝 src/app/_components/Terminal.tsx (+8 -2)
📝 src/app/page.tsx (+27 -4)
📝 src/server/api/root.ts (+4 -0)
src/server/api/routers/backups.ts (+170 -0)
📝 src/server/api/routers/installedScripts.ts (+159 -0)
src/server/api/routers/pbsCredentials.ts (+153 -0)
📝 src/server/database-prisma.js (+155 -0)

...and 4 more files

📄 Description

Summary

This PR adds comprehensive backup functionality for LXC containers.

Features

  • Add backup capability before updates or as standalone action
  • Implement storage service to fetch and parse backup-capable storages from PVE nodes
  • Add backup storage selection modal for user choice
  • Support backup+update flow with sequential execution
  • Add standalone backup option in Actions menu
  • Add storage viewer in server section to show available storages
  • Parse /etc/pve/storage.cfg to identify backup-capable storages
  • Cache storage data for performance
  • Handle backup failures gracefully (warn but allow update to proceed)

Technical Details

  • Uses vzdump command via SSH for backups
  • Parses Proxmox storage configuration to identify backup-capable storages
  • Implements in-memory caching for storage lists
  • Sequential execution of backup then update via WebSocket
  • Real-time progress display in terminal component

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/community-scripts/ProxmoxVE-Local/pull/331 **Author:** [@michelroegl-brunner](https://github.com/michelroegl-brunner) **Created:** 11/18/2025 **Status:** ✅ Merged **Merged:** 11/18/2025 **Merged by:** [@michelroegl-brunner](https://github.com/michelroegl-brunner) **Base:** `main` ← **Head:** `feat/lxc_backups` --- ### 📝 Commits (10+) - [`4ea49be`](https://github.com/community-scripts/ProxmoxVE-Local/commit/4ea49be97d0296098f1b5edf98a479a7407d1343) Initial for Backup function - [`d50ea55`](https://github.com/community-scripts/ProxmoxVE-Local/commit/d50ea55e6d90ecd5f85f1402dd1852076fcc7100) Add LXC container backup functionality - [`4a50da4`](https://github.com/community-scripts/ProxmoxVE-Local/commit/4a50da496848fbb6c0633294ed9e05ea79fb4293) Add backup discovery tab with support for local and storage backups - [`eda41e5`](https://github.com/community-scripts/ProxmoxVE-Local/commit/eda41e51017d15386d95e75210cd593ac102f027) Implement PBS authentication support for backup discovery - [`63174d2`](https://github.com/community-scripts/ProxmoxVE-Local/commit/63174d2ea12d3ffb7cd05366e6b1622c39777ff3) Fix PBS backup discovery command and authentication - [`33a5b8e`](https://github.com/community-scripts/ProxmoxVE-Local/commit/33a5b8e4d0f0d848aa0aa5817f3d6e23f983a006) PBS restore working :) - [`570eea4`](https://github.com/community-scripts/ProxmoxVE-Local/commit/570eea41b93724d3a37b3050b711e7424e74f994) Implement real-time restore progress updates with polling - [`5be88d3`](https://github.com/community-scripts/ProxmoxVE-Local/commit/5be88d361f628351b9c6d42a2fc1007aca96769f) chore: cleanup debug output from backup modals - [`5d48c7b`](https://github.com/community-scripts/ProxmoxVE-Local/commit/5d48c7b61c694b30adcace27244f3d335a565ba0) Merge branch 'main' into feat/lxc_backups - [`3a8088d`](https://github.com/community-scripts/ProxmoxVE-Local/commit/3a8088ded6e6dc8e8ef7ed39238a1c651bcef8da) chore: add missing migration for backups and pbs_storage_credentials tables ### 📊 Changes **24 files changed** (+4279 additions, -58 deletions) <details> <summary>View changed files</summary> ➕ `prisma/migrations/20251118091618_add_backups_and_pbs_credentials/migration.sql` (+41 -0) 📝 `prisma/schema.prisma` (+38 -0) ➕ `restore.log` (+10 -0) 📝 `server.js` (+209 -5) ➕ `src/app/_components/BackupWarningModal.tsx` (+67 -0) ➕ `src/app/_components/BackupsTab.tsx` (+503 -0) 📝 `src/app/_components/InstalledScriptsTab.tsx` (+275 -31) 📝 `src/app/_components/LoadingModal.tsx` (+63 -15) ➕ `src/app/_components/PBSCredentialsModal.tsx` (+296 -0) 📝 `src/app/_components/ScriptInstallationCard.tsx` (+11 -0) 📝 `src/app/_components/ServerList.tsx` (+30 -1) ➕ `src/app/_components/ServerStoragesModal.tsx` (+227 -0) ➕ `src/app/_components/StorageSelectionModal.tsx` (+168 -0) 📝 `src/app/_components/Terminal.tsx` (+8 -2) 📝 `src/app/page.tsx` (+27 -4) 📝 `src/server/api/root.ts` (+4 -0) ➕ `src/server/api/routers/backups.ts` (+170 -0) 📝 `src/server/api/routers/installedScripts.ts` (+159 -0) ➕ `src/server/api/routers/pbsCredentials.ts` (+153 -0) 📝 `src/server/database-prisma.js` (+155 -0) _...and 4 more files_ </details> ### 📄 Description ## Summary This PR adds comprehensive backup functionality for LXC containers. ## Features - Add backup capability before updates or as standalone action - Implement storage service to fetch and parse backup-capable storages from PVE nodes - Add backup storage selection modal for user choice - Support backup+update flow with sequential execution - Add standalone backup option in Actions menu - Add storage viewer in server section to show available storages - Parse /etc/pve/storage.cfg to identify backup-capable storages - Cache storage data for performance - Handle backup failures gracefully (warn but allow update to proceed) ## Technical Details - Uses `vzdump` command via SSH for backups - Parses Proxmox storage configuration to identify backup-capable storages - Implements in-memory caching for storage lists - Sequential execution of backup then update via WebSocket - Real-time progress display in terminal component --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2025-11-20 04:14:22 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/ProxmoxVE-Local#363