No description
  • Python 91.5%
  • Shell 8.5%
Find a file
Antonis Mortos 1513ea243a
Add ANSI VM migration center and vmmigration binary
Merge Proxmox cold-copy wizard, universal installer, vmmigration launcher, binary build workflow, safety checks, and requested developer branding.
2026-09-25 21:00:39 +03:00
.github/workflows Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00
bin Add bin/lbm-vdrc 2026-09-24 21:16:21 +03:00
build-source Trigger black input text build 2026-09-24 22:24:26 +03:00
docs Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00
lbm_vdrc Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00
releases/windows/v1.0.3 Add LinuxBackupManager v1.0.3 Windows executable [skip ci] 2026-09-24 20:03:36 +00:00
tests Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00
.gitignore Add .gitignore 2026-09-24 21:16:09 +03:00
build-binary.sh Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00
build-status.txt Update Windows build status [skip ci] 2026-09-24 19:32:20 +00:00
CHANGELOG.md Add CHANGELOG.md 2026-09-24 21:16:01 +03:00
CONTRIBUTING.md Add CONTRIBUTING.md 2026-09-24 21:16:03 +03:00
install.sh Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00
LICENSE Initial commit 2026-09-24 21:03:24 +03:00
PREVIEW.txt Add PREVIEW.txt 2026-09-24 21:16:27 +03:00
README.md Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00
SECURITY.md Add SECURITY.md 2026-09-24 21:16:05 +03:00
uninstall.sh Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00
VERSION Add VERSION 2026-09-24 21:16:07 +03:00
vmmigration.py Add ANSI VM migration center and vmmigration binary 2026-09-25 21:00:39 +03:00

LINUX BACKUP MANAGER – VIRTUALIZATION & DISASTER RECOVERY CENTER

Status: UNDER ACTIVE DEVELOPMENT / WORK IN PROGRESS

This project is still under construction. The current Windows build is usable for development, testing, host connectivity, backup orchestration and recovery workflows, but it should not yet be treated as a finished enterprise production release. Features are being continuously expanded and validated against real Linux, Proxmox VE and KVM/libvirt environments.

Current Windows build: v1.0.3
Platform: Windows x64
Framework: .NET 10 / WPF
Distribution: Self-contained single executable
Author: Antonios Mortos
Designed and Development by: antonios.mortos@oultook.com


Binary Distribution and vmmigration Command

The Linux migration engine can be installed as a compiled standalone executable.

Run:

sudo ./install.sh

The installer automatically detects the supported Linux package manager, installs the required migration dependencies, builds a Nuitka one-file executable when a prebuilt binary is not present, and installs:

/opt/vmmigration/vmmigration
/usr/local/bin/vmmigration

Start the ANSI/color interface with:

sudo vmmigration

The legacy lbm-vdrc command is retained as a compatibility alias.

The installed /opt/vmmigration directory contains the executable binary and does not receive the Python source tree.

The application and installer display:

Design and Development by : antonios.mortos@oultook.com

Source-code visibility

Compiling with Nuitka makes the deployed application substantially harder to inspect than distributing plain Python files, but compilation is not cryptographic source-code secrecy.

If the source repository itself is public, the source remains visible through GitHub and repository history. For a binary-only public distribution, keep the authoritative source repository private and publish only compiled release artifacts and the bootstrap installer.

Overview

LINUX BACKUP MANAGER – VIRTUALIZATION & DISASTER RECOVERY CENTER is a Windows management console designed to centrally administer Linux backup, virtualization and disaster-recovery workflows from a single graphical interface.

The Windows application connects to remote Linux systems through SSH and is designed to work with the Linux Backup Manager engine and related virtualization tooling. The goal is to provide one control center for host management, backup jobs, restore operations, recovery points, snapshots, storage, scheduling, diagnostics and disaster-recovery operations.

The application is being developed as a standalone Windows executable so that no separate .NET runtime installation is required on the management workstation.


Current Windows Build

The latest build included in this repository is:

LinuxBackupManager-v1.0.3-real-history.exe

Version 1.0.3 includes a real host-backed backup history module. History is no longer a static or decorative UI element. When a Linux host and backup profile are selected, the application retrieves actual run history from the remote host over SSH.

The expected Linux Backup Manager history source is:

/var/lib/linux-backup-manager/history/<profile>.tsv

The Windows client can display the latest recorded backup executions including start time, end time, result, duration, transferred size, run ID and execution details.


Main Capabilities

Host Management

The application provides a Windows GUI for defining and managing remote Linux hosts.

Supported connection information includes:

  • Display name
  • Hostname or IP address
  • SSH port
  • Username
  • Password authentication
  • SSH private-key authentication
  • Platform selection
  • Notes
  • Connection testing
  • Host status and basic platform detection

Saved credentials are protected for the current Windows user using Windows DPAPI.

SSH Connectivity

Remote operations are performed through SSH.

The application can use:

  • Username and password
  • SSH private keys
  • Custom SSH ports

For production environments, SSH key authentication is strongly recommended.

Platform Detection

The client can identify common Linux virtualization environments, including:

  • Standard Linux
  • Proxmox VE
  • KVM / libvirt

Additional platform integrations are planned as development continues.

Backup Operations

The Windows console is intended to provide centralized access to Linux Backup Manager operations such as:

  • Run backup
  • Verify backup
  • Restore backup
  • Browse recovery points
  • Apply retention policies
  • View storage status
  • Configure schedules
  • Capture disaster-recovery inventory
  • Run diagnostics
  • View logs

The exact availability of each operation depends on the Linux host, installed utilities, privileges and the Linux Backup Manager engine installed on that host.

Real Backup History

Version 1.0.3 introduces a real backup-history viewer.

For the selected host and profile, the application retrieves the remote history file and presents it in a sortable table.

Displayed information includes:

  • Start date and time
  • End date and time
  • Backup status
  • Duration
  • Data size
  • Run ID
  • Detailed execution information

The History window also supports:

  • Refresh from Host
  • Newest runs first
  • CSV export
  • Detection of profiles with no recorded runs

No fabricated history entries are generated.

Recovery Points

The project is designed to expose real recovery points generated by the Linux backup engine.

Depending on the configured engine this may include:

  • rsync snapshot directories
  • compressed tar/zstd archives
  • restic snapshots

Recovery-point discovery and restore behavior depend on the active profile configuration on the remote Linux system.

Proxmox → Proxmox Cold Copy Wizard (Lab Feature)

The feature branch feature/proxmox-cold-copy-wizard adds a real interactive ANSI/color workflow for copying a powered-off QEMU VM between two independent Proxmox VE hosts.

The operator supplies only source/destination IP or hostname, SSH username/password, and selects the source VM from live inventory. Destination VMID selection is automatic; destination storage is auto-selected when there is only one valid image storage, otherwise it is chosen from a menu.

The workflow performs vzdump, controller-side staging, SHA256 verification on every transfer leg, destination qmrestore, forces onboot=0, and leaves the restored VM powered off for administrator validation. The source VM is never deleted.

See docs/PROXMOX_COLD_COPY.md.

Virtualization and Disaster Recovery

The long-term objective of the project is to provide one Windows control center for:

  • Proxmox VE
  • KVM / libvirt
  • Linux virtualization hosts
  • VM and container backup orchestration
  • Snapshot workflows
  • Backup verification
  • VM restore
  • Replication
  • Migration
  • Disaster-recovery workflows
  • Storage mapping
  • Infrastructure inventory

Some of these areas are already implemented in the underlying Linux project, while others are still being integrated and validated in the Windows client.


Storage

The architecture is intended to support backup targets commonly used in Linux and virtualization environments:

  • Local storage
  • NFS
  • SMB / CIFS / Samba
  • iSCSI
  • Dedicated backup repositories

Storage support depends on the configuration and packages installed on the remote Linux host.


Scheduling

Linux-side scheduling can be managed through systemd timers.

The underlying Linux Backup Manager supports recurring scheduled jobs, and the Windows console is being developed to provide a graphical administration layer for those schedules.

Production scheduling should always be validated directly on the target host before being relied upon for disaster recovery.


Security

The project performs administrative operations on remote infrastructure and should therefore be treated as a privileged administration tool.

Recommended security practices:

  • Prefer SSH keys instead of passwords.
  • Use dedicated administrative accounts.
  • Restrict SSH access with firewalls and network ACLs.
  • Use least privilege wherever practical.
  • Protect backup repositories from the same administrative failure domain as production workloads.
  • Test restores regularly.
  • Keep at least one independent or offline recovery copy for critical systems.

Windows-stored passwords are protected with DPAPI for the current Windows user.


Windows Requirements

The current Windows application targets:

Windows x64
.NET 10
WPF

The distributed EXE is published as a self-contained single-file application, so a separate .NET runtime installation should not normally be required.


Linux Host Requirements

Requirements depend on the operations being used, but typical hosts may require:

  • OpenSSH server
  • Bash
  • rsync
  • tar
  • zstd
  • restic
  • systemd
  • findmnt
  • iproute2
  • NFS / CIFS / iSCSI utilities where applicable
  • Proxmox or libvirt tooling for virtualization-specific functions

The remote account must have sufficient privileges for the requested operation.


Typical Workflow

A normal administrative workflow is:

  1. Start LinuxBackupManager.exe.
  2. Add a Linux or virtualization host.
  3. Configure SSH authentication.
  4. Test the connection.
  5. Select the host.
  6. Open the operations console.
  7. Load available backup profiles.
  8. Run, verify or inspect backup jobs.
  9. Open History to retrieve the real backup run history from the Linux host.
  10. Review recovery points.
  11. Perform controlled restore testing.
  12. Validate scheduling and retention.

Always perform restore testing before considering a backup strategy operational.


Version 1.0.3 Changes

Version 1.0.3 currently includes:

  • .NET 10 Windows x64 application
  • Self-contained single EXE publishing
  • Custom application/shortcut icon
  • Light silver / ivory interface
  • Dark readable typography
  • Black text inside input fields
  • SSH host management
  • Password and private-key authentication
  • Windows DPAPI credential protection
  • Linux platform detection
  • Proxmox VE detection
  • KVM/libvirt detection
  • Linux Backup Manager remote operations
  • Real host-backed backup History viewer
  • History refresh
  • History CSV export
  • Run ID and backup-size reporting
  • Clickable developer email link

Work in Progress

This project is still under active development.

The current build should be considered a development / preview release rather than a final production release.

Areas still being expanded, hardened or validated include:

  • Extended Proxmox VE management
  • Advanced KVM/libvirt operations
  • Full VM/container inventory views
  • Snapshot lifecycle management
  • Replication workflows
  • Cross-host migration
  • Cross-hypervisor conversion
  • Automated disaster-recovery orchestration
  • Storage discovery and mapping
  • Job scheduler management
  • Detailed live progress reporting
  • Centralized logs and event monitoring
  • Additional validation and rollback controls
  • Installer and automated update system
  • Broader testing against multiple Linux distributions and virtualization platforms

Do not rely on an untested workflow for production disaster recovery. Every backup, restore and migration design should be validated in the target environment.


Development Philosophy

The project is being built around several principles:

  • Real operations instead of decorative UI
  • No fabricated backup status or history
  • Clear distinction between tested and experimental features
  • Safe handling of destructive actions
  • Restore validation as part of backup design
  • Centralized Windows administration with Linux-side execution
  • Transparent logs and recoverability
  • Incremental validation against real infrastructure

Project Structure

The project combines two areas:

Linux Backup Engine

The Linux-side components perform the actual backup, verification, retention, recovery-point and scheduling operations.

Windows Management Console

The .NET 10 Windows application provides the graphical administration layer and connects to Linux hosts using SSH.

This separation allows the Linux backup engine to remain close to the workloads while the administrator works from a Windows workstation.


Disclaimer

This software is under active development and is provided for testing, laboratory use and controlled deployment.

Backup and disaster-recovery software can affect critical production data. Always maintain independent backups, verify recovery points and test restoration procedures before using any automation in a production environment.

The author is not responsible for data loss, service interruption or configuration damage resulting from untested deployment or misuse.


Author

Antonios Mortos

Designed and Development by:
antonios.mortos@oultook.com


Project Status

Version: 1.0.3
Status : UNDER ACTIVE DEVELOPMENT
Stage  : WORK IN PROGRESS / DEVELOPMENT PREVIEW

More functionality, validation and documentation will be added as development continues.