Skip to content

Repository files navigation

pbsgui

Back up Windows and Microsoft SQL Server to a Proxmox Backup Server with a native Windows app, and restore to any point in time.

pbsgui talks to PBS through a clean-room reimplementation of the PBS backup protocol, so it runs natively on Windows without the Linux-only official client. It is built for SQL Server: standalone instances, Failover Cluster Instances, and Always On Availability Groups, with full and transaction-log chains and restore to a moment in time.

Jobs dashboard

Early release. Test against non-production data first, and please report issues.

Features

  • SQL Server backup, done right. Stream backups straight to PBS over the Virtual Device Interface, with no on-disk staging. Pick what you want to be able to restore, not a raw backup type: point-in-time recovery (scheduled fulls plus frequent log backups that also truncate the log), daily restore points, or a secondary copy (copy-only fulls that coexist with another backup tool).
  • Restore to the second. Recover a database to any moment in the retained window (the covering full plus its log chain, replayed with STOPAT), or to a chosen full, over the original name or a new one.
  • Always On and Failover Cluster aware. Install on every node; it coordinates through SQL Server with no link between the pbsgui instances. Exactly one node backs up at a time and it follows failover automatically.
  • Relay mode for fleets. Run a thin agent on the SQL Server host and move the backup CPU (chunking, compression, encryption, upload) to a separate proxy machine, so the database server keeps its cores. See docs/RELAY.md.
  • File and folder backup with content-defined chunking and incremental deduplication, so repeat backups are fast and small. Browse snapshots and restore in full or by selected files.
  • Compression and encryption. zstd compression before upload (on by default, never inflates incompressible data) and optional client-side AES-256-GCM, byte compatible with the PBS scheme; keys live in the Windows Credential Manager and never reach the server.
  • Runs unattended as a Windows service. Scheduled jobs run with the GUI closed and across logoff and reboot. A tray icon and a jobs dashboard show status and size-over-time, and live progress lets you see, and stop, a backup that is still running, including one the scheduler started in the background.
  • Notifications on success, failure, and a stalled point-in-time chain, via email (SMTP) and a Slack-compatible webhook.
  • Optional Prometheus metrics (an HTTP /metrics endpoint or a textfile), off by default and secret-free.

See docs/STATUS.md for the full list of what works, what is in progress, and the roadmap.

Requirements

  • Proxmox Backup Server 4.2 or newer (older 3.x servers reject the backup at the protocol upgrade and are not supported).
  • Windows with the WebView2 runtime (preinstalled on current Windows; the full installer can bundle it).
  • For SQL Server: TCP/IP enabled on the instance, and the engine's service identity (NT AUTHORITY\SYSTEM) in the sysadmin server role. pbsgui detects and flags a disabled TCP/IP during discovery and tells you the fix.

Install

Download an installer from the latest release. Two are attached; pick one:

  • pbsgui_<ver>_x64-setup.exe (full, ~200 MB) bundles the WebView2 runtime and installs with no internet access. Use this for air-gapped servers.
  • pbsgui_<ver>_x64-setup-online.exe (small) downloads the WebView2 runtime at install time if it is missing. Use this when the machine has internet.
  1. Download and run one of the installers.
  2. The installer is unsigned, so Windows SmartScreen may warn: choose More info -> Run anyway.
  3. The installer registers and starts the pbsgui-engine background service and opens the app. Add a PBS server and (optionally) a SQL Server connection, then create a job.

To upgrade, run the new installer over the old one: it restarts the service for you and keeps your jobs, connections, servers, settings, and secrets.

How it works

pbsgui is two processes. The GUI runs unprivileged and only configures and monitors, so closing it never stops a backup. The engine does the privileged work (the PBS protocol, the scheduler, SQL Server, secret storage) and runs as a LocalSystem Windows service, so scheduled jobs run unattended. The GUI requests admin rights at launch (a UAC prompt) so it can connect to the engine's administrator-only control socket. See docs/ARCHITECTURE.md.

Good to know

  • The app prompts for elevation (UAC) at launch so the GUI can reach the engine; accept the prompt. The service runs scheduled jobs whether or not the GUI is open.
  • Encryption keys cannot be recovered. If you lose a key, backups made with it cannot be restored, by anyone. The key is shown only once, when you create or import it, so copy it into a password manager then.
  • Always On: give each replica's job the same backup id (it defaults to the Availability Group name) so they share one continuous chain.

Documentation

  • docs/ - index, overview, why pbsgui exists, and the guides below.
  • DEPLOYMENT.md - install and run in production.
  • RELAY.md - deploy relay mode (thin agent plus proxy).
  • STATUS.md - what works, what is in progress, and planned.
  • ARCHITECTURE.md - components, the SQL backup strategy, and the relay.
  • DEVELOPERS.md - build from source, run, and test.
  • TESTING.md - the test tiers and the manual integration pass.

Building from source

pbsgui is a Cargo workspace with a static front end. See docs/DEVELOPERS.md for prerequisites, building the app and installer, and the development loop.

License

GPL-3.0-or-later. See LICENSE.

About

Proxmox Backup Windows Client

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - sol1/pbsgui: Proxmox Backup Windows Client · GitHub
Skip to content

Repository files navigation

pbsgui

Back up Windows and Microsoft SQL Server to a Proxmox Backup Server with a native Windows app, and restore to any point in time.

pbsgui talks to PBS through a clean-room reimplementation of the PBS backup protocol, so it runs natively on Windows without the Linux-only official client. It is built for SQL Server: standalone instances, Failover Cluster Instances, and Always On Availability Groups, with full and transaction-log chains and restore to a moment in time.

Jobs dashboard

Early release. Test against non-production data first, and please report issues.

Features

  • SQL Server backup, done right. Stream backups straight to PBS over the Virtual Device Interface, with no on-disk staging. Pick what you want to be able to restore, not a raw backup type: point-in-time recovery (scheduled fulls plus frequent log backups that also truncate the log), daily restore points, or a secondary copy (copy-only fulls that coexist with another backup tool).
  • Restore to the second. Recover a database to any moment in the retained window (the covering full plus its log chain, replayed with STOPAT), or to a chosen full, over the original name or a new one.
  • Always On and Failover Cluster aware. Install on every node; it coordinates through SQL Server with no link between the pbsgui instances. Exactly one node backs up at a time and it follows failover automatically.
  • Relay mode for fleets. Run a thin agent on the SQL Server host and move the backup CPU (chunking, compression, encryption, upload) to a separate proxy machine, so the database server keeps its cores. See docs/RELAY.md.
  • File and folder backup with content-defined chunking and incremental deduplication, so repeat backups are fast and small. Browse snapshots and restore in full or by selected files.
  • Compression and encryption. zstd compression before upload (on by default, never inflates incompressible data) and optional client-side AES-256-GCM, byte compatible with the PBS scheme; keys live in the Windows Credential Manager and never reach the server.
  • Runs unattended as a Windows service. Scheduled jobs run with the GUI closed and across logoff and reboot. A tray icon and a jobs dashboard show status and size-over-time, and live progress lets you see, and stop, a backup that is still running, including one the scheduler started in the background.
  • Notifications on success, failure, and a stalled point-in-time chain, via email (SMTP) and a Slack-compatible webhook.
  • Optional Prometheus metrics (an HTTP /metrics endpoint or a textfile), off by default and secret-free.

See docs/STATUS.md for the full list of what works, what is in progress, and the roadmap.

Requirements

  • Proxmox Backup Server 4.2 or newer (older 3.x servers reject the backup at the protocol upgrade and are not supported).
  • Windows with the WebView2 runtime (preinstalled on current Windows; the full installer can bundle it).
  • For SQL Server: TCP/IP enabled on the instance, and the engine's service identity (NT AUTHORITY\SYSTEM) in the sysadmin server role. pbsgui detects and flags a disabled TCP/IP during discovery and tells you the fix.

Install

Download an installer from the latest release. Two are attached; pick one:

  • pbsgui_<ver>_x64-setup.exe (full, ~200 MB) bundles the WebView2 runtime and installs with no internet access. Use this for air-gapped servers.
  • pbsgui_<ver>_x64-setup-online.exe (small) downloads the WebView2 runtime at install time if it is missing. Use this when the machine has internet.
  1. Download and run one of the installers.
  2. The installer is unsigned, so Windows SmartScreen may warn: choose More info -> Run anyway.
  3. The installer registers and starts the pbsgui-engine background service and opens the app. Add a PBS server and (optionally) a SQL Server connection, then create a job.

To upgrade, run the new installer over the old one: it restarts the service for you and keeps your jobs, connections, servers, settings, and secrets.

How it works

pbsgui is two processes. The GUI runs unprivileged and only configures and monitors, so closing it never stops a backup. The engine does the privileged work (the PBS protocol, the scheduler, SQL Server, secret storage) and runs as a LocalSystem Windows service, so scheduled jobs run unattended. The GUI requests admin rights at launch (a UAC prompt) so it can connect to the engine's administrator-only control socket. See docs/ARCHITECTURE.md.

Good to know

  • The app prompts for elevation (UAC) at launch so the GUI can reach the engine; accept the prompt. The service runs scheduled jobs whether or not the GUI is open.
  • Encryption keys cannot be recovered. If you lose a key, backups made with it cannot be restored, by anyone. The key is shown only once, when you create or import it, so copy it into a password manager then.
  • Always On: give each replica's job the same backup id (it defaults to the Availability Group name) so they share one continuous chain.

Documentation

  • docs/ - index, overview, why pbsgui exists, and the guides below.
  • DEPLOYMENT.md - install and run in production.
  • RELAY.md - deploy relay mode (thin agent plus proxy).
  • STATUS.md - what works, what is in progress, and planned.
  • ARCHITECTURE.md - components, the SQL backup strategy, and the relay.
  • DEVELOPERS.md - build from source, run, and test.
  • TESTING.md - the test tiers and the manual integration pass.

Building from source

pbsgui is a Cargo workspace with a static front end. See docs/DEVELOPERS.md for prerequisites, building the app and installer, and the development loop.

License

GPL-3.0-or-later. See LICENSE.

About

Proxmox Backup Windows Client

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - sol1/pbsgui: Proxmox Backup Windows Client · GitHub
Skip to content

Repository files navigation

pbsgui

Back up Windows and Microsoft SQL Server to a Proxmox Backup Server with a native Windows app, and restore to any point in time.

pbsgui talks to PBS through a clean-room reimplementation of the PBS backup protocol, so it runs natively on Windows without the Linux-only official client. It is built for SQL Server: standalone instances, Failover Cluster Instances, and Always On Availability Groups, with full and transaction-log chains and restore to a moment in time.

Jobs dashboard

Early release. Test against non-production data first, and please report issues.

Features

  • SQL Server backup, done right. Stream backups straight to PBS over the Virtual Device Interface, with no on-disk staging. Pick what you want to be able to restore, not a raw backup type: point-in-time recovery (scheduled fulls plus frequent log backups that also truncate the log), daily restore points, or a secondary copy (copy-only fulls that coexist with another backup tool).
  • Restore to the second. Recover a database to any moment in the retained window (the covering full plus its log chain, replayed with STOPAT), or to a chosen full, over the original name or a new one.
  • Always On and Failover Cluster aware. Install on every node; it coordinates through SQL Server with no link between the pbsgui instances. Exactly one node backs up at a time and it follows failover automatically.
  • Relay mode for fleets. Run a thin agent on the SQL Server host and move the backup CPU (chunking, compression, encryption, upload) to a separate proxy machine, so the database server keeps its cores. See docs/RELAY.md.
  • File and folder backup with content-defined chunking and incremental deduplication, so repeat backups are fast and small. Browse snapshots and restore in full or by selected files.
  • Compression and encryption. zstd compression before upload (on by default, never inflates incompressible data) and optional client-side AES-256-GCM, byte compatible with the PBS scheme; keys live in the Windows Credential Manager and never reach the server.
  • Runs unattended as a Windows service. Scheduled jobs run with the GUI closed and across logoff and reboot. A tray icon and a jobs dashboard show status and size-over-time, and live progress lets you see, and stop, a backup that is still running, including one the scheduler started in the background.
  • Notifications on success, failure, and a stalled point-in-time chain, via email (SMTP) and a Slack-compatible webhook.
  • Optional Prometheus metrics (an HTTP /metrics endpoint or a textfile), off by default and secret-free.

See docs/STATUS.md for the full list of what works, what is in progress, and the roadmap.

Requirements

  • Proxmox Backup Server 4.2 or newer (older 3.x servers reject the backup at the protocol upgrade and are not supported).
  • Windows with the WebView2 runtime (preinstalled on current Windows; the full installer can bundle it).
  • For SQL Server: TCP/IP enabled on the instance, and the engine's service identity (NT AUTHORITY\SYSTEM) in the sysadmin server role. pbsgui detects and flags a disabled TCP/IP during discovery and tells you the fix.

Install

Download an installer from the latest release. Two are attached; pick one:

  • pbsgui_<ver>_x64-setup.exe (full, ~200 MB) bundles the WebView2 runtime and installs with no internet access. Use this for air-gapped servers.
  • pbsgui_<ver>_x64-setup-online.exe (small) downloads the WebView2 runtime at install time if it is missing. Use this when the machine has internet.
  1. Download and run one of the installers.
  2. The installer is unsigned, so Windows SmartScreen may warn: choose More info -> Run anyway.
  3. The installer registers and starts the pbsgui-engine background service and opens the app. Add a PBS server and (optionally) a SQL Server connection, then create a job.

To upgrade, run the new installer over the old one: it restarts the service for you and keeps your jobs, connections, servers, settings, and secrets.

How it works

pbsgui is two processes. The GUI runs unprivileged and only configures and monitors, so closing it never stops a backup. The engine does the privileged work (the PBS protocol, the scheduler, SQL Server, secret storage) and runs as a LocalSystem Windows service, so scheduled jobs run unattended. The GUI requests admin rights at launch (a UAC prompt) so it can connect to the engine's administrator-only control socket. See docs/ARCHITECTURE.md.

Good to know

  • The app prompts for elevation (UAC) at launch so the GUI can reach the engine; accept the prompt. The service runs scheduled jobs whether or not the GUI is open.
  • Encryption keys cannot be recovered. If you lose a key, backups made with it cannot be restored, by anyone. The key is shown only once, when you create or import it, so copy it into a password manager then.
  • Always On: give each replica's job the same backup id (it defaults to the Availability Group name) so they share one continuous chain.

Documentation

  • docs/ - index, overview, why pbsgui exists, and the guides below.
  • DEPLOYMENT.md - install and run in production.
  • RELAY.md - deploy relay mode (thin agent plus proxy).
  • STATUS.md - what works, what is in progress, and planned.
  • ARCHITECTURE.md - components, the SQL backup strategy, and the relay.
  • DEVELOPERS.md - build from source, run, and test.
  • TESTING.md - the test tiers and the manual integration pass.

Building from source

pbsgui is a Cargo workspace with a static front end. See docs/DEVELOPERS.md for prerequisites, building the app and installer, and the development loop.

License

GPL-3.0-or-later. See LICENSE.

About

Proxmox Backup Windows Client

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - sol1/pbsgui: Proxmox Backup Windows Client · GitHub
Skip to content

Repository files navigation

pbsgui

Back up Windows and Microsoft SQL Server to a Proxmox Backup Server with a native Windows app, and restore to any point in time.

pbsgui talks to PBS through a clean-room reimplementation of the PBS backup protocol, so it runs natively on Windows without the Linux-only official client. It is built for SQL Server: standalone instances, Failover Cluster Instances, and Always On Availability Groups, with full and transaction-log chains and restore to a moment in time.

Jobs dashboard

Early release. Test against non-production data first, and please report issues.

Features

  • SQL Server backup, done right. Stream backups straight to PBS over the Virtual Device Interface, with no on-disk staging. Pick what you want to be able to restore, not a raw backup type: point-in-time recovery (scheduled fulls plus frequent log backups that also truncate the log), daily restore points, or a secondary copy (copy-only fulls that coexist with another backup tool).
  • Restore to the second. Recover a database to any moment in the retained window (the covering full plus its log chain, replayed with STOPAT), or to a chosen full, over the original name or a new one.
  • Always On and Failover Cluster aware. Install on every node; it coordinates through SQL Server with no link between the pbsgui instances. Exactly one node backs up at a time and it follows failover automatically.
  • Relay mode for fleets. Run a thin agent on the SQL Server host and move the backup CPU (chunking, compression, encryption, upload) to a separate proxy machine, so the database server keeps its cores. See docs/RELAY.md.
  • File and folder backup with content-defined chunking and incremental deduplication, so repeat backups are fast and small. Browse snapshots and restore in full or by selected files.
  • Compression and encryption. zstd compression before upload (on by default, never inflates incompressible data) and optional client-side AES-256-GCM, byte compatible with the PBS scheme; keys live in the Windows Credential Manager and never reach the server.
  • Runs unattended as a Windows service. Scheduled jobs run with the GUI closed and across logoff and reboot. A tray icon and a jobs dashboard show status and size-over-time, and live progress lets you see, and stop, a backup that is still running, including one the scheduler started in the background.
  • Notifications on success, failure, and a stalled point-in-time chain, via email (SMTP) and a Slack-compatible webhook.
  • Optional Prometheus metrics (an HTTP /metrics endpoint or a textfile), off by default and secret-free.

See docs/STATUS.md for the full list of what works, what is in progress, and the roadmap.

Requirements

  • Proxmox Backup Server 4.2 or newer (older 3.x servers reject the backup at the protocol upgrade and are not supported).
  • Windows with the WebView2 runtime (preinstalled on current Windows; the full installer can bundle it).
  • For SQL Server: TCP/IP enabled on the instance, and the engine's service identity (NT AUTHORITY\SYSTEM) in the sysadmin server role. pbsgui detects and flags a disabled TCP/IP during discovery and tells you the fix.

Install

Download an installer from the latest release. Two are attached; pick one:

  • pbsgui_<ver>_x64-setup.exe (full, ~200 MB) bundles the WebView2 runtime and installs with no internet access. Use this for air-gapped servers.
  • pbsgui_<ver>_x64-setup-online.exe (small) downloads the WebView2 runtime at install time if it is missing. Use this when the machine has internet.
  1. Download and run one of the installers.
  2. The installer is unsigned, so Windows SmartScreen may warn: choose More info -> Run anyway.
  3. The installer registers and starts the pbsgui-engine background service and opens the app. Add a PBS server and (optionally) a SQL Server connection, then create a job.

To upgrade, run the new installer over the old one: it restarts the service for you and keeps your jobs, connections, servers, settings, and secrets.

How it works

pbsgui is two processes. The GUI runs unprivileged and only configures and monitors, so closing it never stops a backup. The engine does the privileged work (the PBS protocol, the scheduler, SQL Server, secret storage) and runs as a LocalSystem Windows service, so scheduled jobs run unattended. The GUI requests admin rights at launch (a UAC prompt) so it can connect to the engine's administrator-only control socket. See docs/ARCHITECTURE.md.

Good to know

  • The app prompts for elevation (UAC) at launch so the GUI can reach the engine; accept the prompt. The service runs scheduled jobs whether or not the GUI is open.
  • Encryption keys cannot be recovered. If you lose a key, backups made with it cannot be restored, by anyone. The key is shown only once, when you create or import it, so copy it into a password manager then.
  • Always On: give each replica's job the same backup id (it defaults to the Availability Group name) so they share one continuous chain.

Documentation

  • docs/ - index, overview, why pbsgui exists, and the guides below.
  • DEPLOYMENT.md - install and run in production.
  • RELAY.md - deploy relay mode (thin agent plus proxy).
  • STATUS.md - what works, what is in progress, and planned.
  • ARCHITECTURE.md - components, the SQL backup strategy, and the relay.
  • DEVELOPERS.md - build from source, run, and test.
  • TESTING.md - the test tiers and the manual integration pass.

Building from source

pbsgui is a Cargo workspace with a static front end. See docs/DEVELOPERS.md for prerequisites, building the app and installer, and the development loop.

License

GPL-3.0-or-later. See LICENSE.

About

Proxmox Backup Windows Client

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - sol1/pbsgui: Proxmox Backup Windows Client · GitHub
Skip to content

Repository files navigation

pbsgui

Back up Windows and Microsoft SQL Server to a Proxmox Backup Server with a native Windows app, and restore to any point in time.

pbsgui talks to PBS through a clean-room reimplementation of the PBS backup protocol, so it runs natively on Windows without the Linux-only official client. It is built for SQL Server: standalone instances, Failover Cluster Instances, and Always On Availability Groups, with full and transaction-log chains and restore to a moment in time.

Jobs dashboard

Early release. Test against non-production data first, and please report issues.

Features

  • SQL Server backup, done right. Stream backups straight to PBS over the Virtual Device Interface, with no on-disk staging. Pick what you want to be able to restore, not a raw backup type: point-in-time recovery (scheduled fulls plus frequent log backups that also truncate the log), daily restore points, or a secondary copy (copy-only fulls that coexist with another backup tool).
  • Restore to the second. Recover a database to any moment in the retained window (the covering full plus its log chain, replayed with STOPAT), or to a chosen full, over the original name or a new one.
  • Always On and Failover Cluster aware. Install on every node; it coordinates through SQL Server with no link between the pbsgui instances. Exactly one node backs up at a time and it follows failover automatically.
  • Relay mode for fleets. Run a thin agent on the SQL Server host and move the backup CPU (chunking, compression, encryption, upload) to a separate proxy machine, so the database server keeps its cores. See docs/RELAY.md.
  • File and folder backup with content-defined chunking and incremental deduplication, so repeat backups are fast and small. Browse snapshots and restore in full or by selected files.
  • Compression and encryption. zstd compression before upload (on by default, never inflates incompressible data) and optional client-side AES-256-GCM, byte compatible with the PBS scheme; keys live in the Windows Credential Manager and never reach the server.
  • Runs unattended as a Windows service. Scheduled jobs run with the GUI closed and across logoff and reboot. A tray icon and a jobs dashboard show status and size-over-time, and live progress lets you see, and stop, a backup that is still running, including one the scheduler started in the background.
  • Notifications on success, failure, and a stalled point-in-time chain, via email (SMTP) and a Slack-compatible webhook.
  • Optional Prometheus metrics (an HTTP /metrics endpoint or a textfile), off by default and secret-free.

See docs/STATUS.md for the full list of what works, what is in progress, and the roadmap.

Requirements

  • Proxmox Backup Server 4.2 or newer (older 3.x servers reject the backup at the protocol upgrade and are not supported).
  • Windows with the WebView2 runtime (preinstalled on current Windows; the full installer can bundle it).
  • For SQL Server: TCP/IP enabled on the instance, and the engine's service identity (NT AUTHORITY\SYSTEM) in the sysadmin server role. pbsgui detects and flags a disabled TCP/IP during discovery and tells you the fix.

Install

Download an installer from the latest release. Two are attached; pick one:

  • pbsgui_<ver>_x64-setup.exe (full, ~200 MB) bundles the WebView2 runtime and installs with no internet access. Use this for air-gapped servers.
  • pbsgui_<ver>_x64-setup-online.exe (small) downloads the WebView2 runtime at install time if it is missing. Use this when the machine has internet.
  1. Download and run one of the installers.
  2. The installer is unsigned, so Windows SmartScreen may warn: choose More info -> Run anyway.
  3. The installer registers and starts the pbsgui-engine background service and opens the app. Add a PBS server and (optionally) a SQL Server connection, then create a job.

To upgrade, run the new installer over the old one: it restarts the service for you and keeps your jobs, connections, servers, settings, and secrets.

How it works

pbsgui is two processes. The GUI runs unprivileged and only configures and monitors, so closing it never stops a backup. The engine does the privileged work (the PBS protocol, the scheduler, SQL Server, secret storage) and runs as a LocalSystem Windows service, so scheduled jobs run unattended. The GUI requests admin rights at launch (a UAC prompt) so it can connect to the engine's administrator-only control socket. See docs/ARCHITECTURE.md.

Good to know

  • The app prompts for elevation (UAC) at launch so the GUI can reach the engine; accept the prompt. The service runs scheduled jobs whether or not the GUI is open.
  • Encryption keys cannot be recovered. If you lose a key, backups made with it cannot be restored, by anyone. The key is shown only once, when you create or import it, so copy it into a password manager then.
  • Always On: give each replica's job the same backup id (it defaults to the Availability Group name) so they share one continuous chain.

Documentation

  • docs/ - index, overview, why pbsgui exists, and the guides below.
  • DEPLOYMENT.md - install and run in production.
  • RELAY.md - deploy relay mode (thin agent plus proxy).
  • STATUS.md - what works, what is in progress, and planned.
  • ARCHITECTURE.md - components, the SQL backup strategy, and the relay.
  • DEVELOPERS.md - build from source, run, and test.
  • TESTING.md - the test tiers and the manual integration pass.

Building from source

pbsgui is a Cargo workspace with a static front end. See docs/DEVELOPERS.md for prerequisites, building the app and installer, and the development loop.

License

GPL-3.0-or-later. See LICENSE.

About

Proxmox Backup Windows Client

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - sol1/pbsgui: Proxmox Backup Windows Client · GitHub
Skip to content

Repository files navigation

pbsgui

Back up Windows and Microsoft SQL Server to a Proxmox Backup Server with a native Windows app, and restore to any point in time.

pbsgui talks to PBS through a clean-room reimplementation of the PBS backup protocol, so it runs natively on Windows without the Linux-only official client. It is built for SQL Server: standalone instances, Failover Cluster Instances, and Always On Availability Groups, with full and transaction-log chains and restore to a moment in time.

Jobs dashboard

Early release. Test against non-production data first, and please report issues.

Features

  • SQL Server backup, done right. Stream backups straight to PBS over the Virtual Device Interface, with no on-disk staging. Pick what you want to be able to restore, not a raw backup type: point-in-time recovery (scheduled fulls plus frequent log backups that also truncate the log), daily restore points, or a secondary copy (copy-only fulls that coexist with another backup tool).
  • Restore to the second. Recover a database to any moment in the retained window (the covering full plus its log chain, replayed with STOPAT), or to a chosen full, over the original name or a new one.
  • Always On and Failover Cluster aware. Install on every node; it coordinates through SQL Server with no link between the pbsgui instances. Exactly one node backs up at a time and it follows failover automatically.
  • Relay mode for fleets. Run a thin agent on the SQL Server host and move the backup CPU (chunking, compression, encryption, upload) to a separate proxy machine, so the database server keeps its cores. See docs/RELAY.md.
  • File and folder backup with content-defined chunking and incremental deduplication, so repeat backups are fast and small. Browse snapshots and restore in full or by selected files.
  • Compression and encryption. zstd compression before upload (on by default, never inflates incompressible data) and optional client-side AES-256-GCM, byte compatible with the PBS scheme; keys live in the Windows Credential Manager and never reach the server.
  • Runs unattended as a Windows service. Scheduled jobs run with the GUI closed and across logoff and reboot. A tray icon and a jobs dashboard show status and size-over-time, and live progress lets you see, and stop, a backup that is still running, including one the scheduler started in the background.
  • Notifications on success, failure, and a stalled point-in-time chain, via email (SMTP) and a Slack-compatible webhook.
  • Optional Prometheus metrics (an HTTP /metrics endpoint or a textfile), off by default and secret-free.

See docs/STATUS.md for the full list of what works, what is in progress, and the roadmap.

Requirements

  • Proxmox Backup Server 4.2 or newer (older 3.x servers reject the backup at the protocol upgrade and are not supported).
  • Windows with the WebView2 runtime (preinstalled on current Windows; the full installer can bundle it).
  • For SQL Server: TCP/IP enabled on the instance, and the engine's service identity (NT AUTHORITY\SYSTEM) in the sysadmin server role. pbsgui detects and flags a disabled TCP/IP during discovery and tells you the fix.

Install

Download an installer from the latest release. Two are attached; pick one:

  • pbsgui_<ver>_x64-setup.exe (full, ~200 MB) bundles the WebView2 runtime and installs with no internet access. Use this for air-gapped servers.
  • pbsgui_<ver>_x64-setup-online.exe (small) downloads the WebView2 runtime at install time if it is missing. Use this when the machine has internet.
  1. Download and run one of the installers.
  2. The installer is unsigned, so Windows SmartScreen may warn: choose More info -> Run anyway.
  3. The installer registers and starts the pbsgui-engine background service and opens the app. Add a PBS server and (optionally) a SQL Server connection, then create a job.

To upgrade, run the new installer over the old one: it restarts the service for you and keeps your jobs, connections, servers, settings, and secrets.

How it works

pbsgui is two processes. The GUI runs unprivileged and only configures and monitors, so closing it never stops a backup. The engine does the privileged work (the PBS protocol, the scheduler, SQL Server, secret storage) and runs as a LocalSystem Windows service, so scheduled jobs run unattended. The GUI requests admin rights at launch (a UAC prompt) so it can connect to the engine's administrator-only control socket. See docs/ARCHITECTURE.md.

Good to know

  • The app prompts for elevation (UAC) at launch so the GUI can reach the engine; accept the prompt. The service runs scheduled jobs whether or not the GUI is open.
  • Encryption keys cannot be recovered. If you lose a key, backups made with it cannot be restored, by anyone. The key is shown only once, when you create or import it, so copy it into a password manager then.
  • Always On: give each replica's job the same backup id (it defaults to the Availability Group name) so they share one continuous chain.

Documentation

  • docs/ - index, overview, why pbsgui exists, and the guides below.
  • DEPLOYMENT.md - install and run in production.
  • RELAY.md - deploy relay mode (thin agent plus proxy).
  • STATUS.md - what works, what is in progress, and planned.
  • ARCHITECTURE.md - components, the SQL backup strategy, and the relay.
  • DEVELOPERS.md - build from source, run, and test.
  • TESTING.md - the test tiers and the manual integration pass.

Building from source

pbsgui is a Cargo workspace with a static front end. See docs/DEVELOPERS.md for prerequisites, building the app and installer, and the development loop.

License

GPL-3.0-or-later. See LICENSE.

About

Proxmox Backup Windows Client

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - sol1/pbsgui: Proxmox Backup Windows Client · GitHub
Skip to content

Repository files navigation

pbsgui

Back up Windows and Microsoft SQL Server to a Proxmox Backup Server with a native Windows app, and restore to any point in time.

pbsgui talks to PBS through a clean-room reimplementation of the PBS backup protocol, so it runs natively on Windows without the Linux-only official client. It is built for SQL Server: standalone instances, Failover Cluster Instances, and Always On Availability Groups, with full and transaction-log chains and restore to a moment in time.

Jobs dashboard

Early release. Test against non-production data first, and please report issues.

Features

  • SQL Server backup, done right. Stream backups straight to PBS over the Virtual Device Interface, with no on-disk staging. Pick what you want to be able to restore, not a raw backup type: point-in-time recovery (scheduled fulls plus frequent log backups that also truncate the log), daily restore points, or a secondary copy (copy-only fulls that coexist with another backup tool).
  • Restore to the second. Recover a database to any moment in the retained window (the covering full plus its log chain, replayed with STOPAT), or to a chosen full, over the original name or a new one.
  • Always On and Failover Cluster aware. Install on every node; it coordinates through SQL Server with no link between the pbsgui instances. Exactly one node backs up at a time and it follows failover automatically.
  • Relay mode for fleets. Run a thin agent on the SQL Server host and move the backup CPU (chunking, compression, encryption, upload) to a separate proxy machine, so the database server keeps its cores. See docs/RELAY.md.
  • File and folder backup with content-defined chunking and incremental deduplication, so repeat backups are fast and small. Browse snapshots and restore in full or by selected files.
  • Compression and encryption. zstd compression before upload (on by default, never inflates incompressible data) and optional client-side AES-256-GCM, byte compatible with the PBS scheme; keys live in the Windows Credential Manager and never reach the server.
  • Runs unattended as a Windows service. Scheduled jobs run with the GUI closed and across logoff and reboot. A tray icon and a jobs dashboard show status and size-over-time, and live progress lets you see, and stop, a backup that is still running, including one the scheduler started in the background.
  • Notifications on success, failure, and a stalled point-in-time chain, via email (SMTP) and a Slack-compatible webhook.
  • Optional Prometheus metrics (an HTTP /metrics endpoint or a textfile), off by default and secret-free.

See docs/STATUS.md for the full list of what works, what is in progress, and the roadmap.

Requirements

  • Proxmox Backup Server 4.2 or newer (older 3.x servers reject the backup at the protocol upgrade and are not supported).
  • Windows with the WebView2 runtime (preinstalled on current Windows; the full installer can bundle it).
  • For SQL Server: TCP/IP enabled on the instance, and the engine's service identity (NT AUTHORITY\SYSTEM) in the sysadmin server role. pbsgui detects and flags a disabled TCP/IP during discovery and tells you the fix.

Install

Download an installer from the latest release. Two are attached; pick one:

  • pbsgui_<ver>_x64-setup.exe (full, ~200 MB) bundles the WebView2 runtime and installs with no internet access. Use this for air-gapped servers.
  • pbsgui_<ver>_x64-setup-online.exe (small) downloads the WebView2 runtime at install time if it is missing. Use this when the machine has internet.
  1. Download and run one of the installers.
  2. The installer is unsigned, so Windows SmartScreen may warn: choose More info -> Run anyway.
  3. The installer registers and starts the pbsgui-engine background service and opens the app. Add a PBS server and (optionally) a SQL Server connection, then create a job.

To upgrade, run the new installer over the old one: it restarts the service for you and keeps your jobs, connections, servers, settings, and secrets.

How it works

pbsgui is two processes. The GUI runs unprivileged and only configures and monitors, so closing it never stops a backup. The engine does the privileged work (the PBS protocol, the scheduler, SQL Server, secret storage) and runs as a LocalSystem Windows service, so scheduled jobs run unattended. The GUI requests admin rights at launch (a UAC prompt) so it can connect to the engine's administrator-only control socket. See docs/ARCHITECTURE.md.

Good to know

  • The app prompts for elevation (UAC) at launch so the GUI can reach the engine; accept the prompt. The service runs scheduled jobs whether or not the GUI is open.
  • Encryption keys cannot be recovered. If you lose a key, backups made with it cannot be restored, by anyone. The key is shown only once, when you create or import it, so copy it into a password manager then.
  • Always On: give each replica's job the same backup id (it defaults to the Availability Group name) so they share one continuous chain.

Documentation

  • docs/ - index, overview, why pbsgui exists, and the guides below.
  • DEPLOYMENT.md - install and run in production.
  • RELAY.md - deploy relay mode (thin agent plus proxy).
  • STATUS.md - what works, what is in progress, and planned.
  • ARCHITECTURE.md - components, the SQL backup strategy, and the relay.
  • DEVELOPERS.md - build from source, run, and test.
  • TESTING.md - the test tiers and the manual integration pass.

Building from source

pbsgui is a Cargo workspace with a static front end. See docs/DEVELOPERS.md for prerequisites, building the app and installer, and the development loop.

License

GPL-3.0-or-later. See LICENSE.

About

Proxmox Backup Windows Client

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - sol1/pbsgui: Proxmox Backup Windows Client · GitHub
Skip to content

Repository files navigation

pbsgui

Back up Windows and Microsoft SQL Server to a Proxmox Backup Server with a native Windows app, and restore to any point in time.

pbsgui talks to PBS through a clean-room reimplementation of the PBS backup protocol, so it runs natively on Windows without the Linux-only official client. It is built for SQL Server: standalone instances, Failover Cluster Instances, and Always On Availability Groups, with full and transaction-log chains and restore to a moment in time.

Jobs dashboard

Early release. Test against non-production data first, and please report issues.

Features

  • SQL Server backup, done right. Stream backups straight to PBS over the Virtual Device Interface, with no on-disk staging. Pick what you want to be able to restore, not a raw backup type: point-in-time recovery (scheduled fulls plus frequent log backups that also truncate the log), daily restore points, or a secondary copy (copy-only fulls that coexist with another backup tool).
  • Restore to the second. Recover a database to any moment in the retained window (the covering full plus its log chain, replayed with STOPAT), or to a chosen full, over the original name or a new one.
  • Always On and Failover Cluster aware. Install on every node; it coordinates through SQL Server with no link between the pbsgui instances. Exactly one node backs up at a time and it follows failover automatically.
  • Relay mode for fleets. Run a thin agent on the SQL Server host and move the backup CPU (chunking, compression, encryption, upload) to a separate proxy machine, so the database server keeps its cores. See docs/RELAY.md.
  • File and folder backup with content-defined chunking and incremental deduplication, so repeat backups are fast and small. Browse snapshots and restore in full or by selected files.
  • Compression and encryption. zstd compression before upload (on by default, never inflates incompressible data) and optional client-side AES-256-GCM, byte compatible with the PBS scheme; keys live in the Windows Credential Manager and never reach the server.
  • Runs unattended as a Windows service. Scheduled jobs run with the GUI closed and across logoff and reboot. A tray icon and a jobs dashboard show status and size-over-time, and live progress lets you see, and stop, a backup that is still running, including one the scheduler started in the background.
  • Notifications on success, failure, and a stalled point-in-time chain, via email (SMTP) and a Slack-compatible webhook.
  • Optional Prometheus metrics (an HTTP /metrics endpoint or a textfile), off by default and secret-free.

See docs/STATUS.md for the full list of what works, what is in progress, and the roadmap.

Requirements

  • Proxmox Backup Server 4.2 or newer (older 3.x servers reject the backup at the protocol upgrade and are not supported).
  • Windows with the WebView2 runtime (preinstalled on current Windows; the full installer can bundle it).
  • For SQL Server: TCP/IP enabled on the instance, and the engine's service identity (NT AUTHORITY\SYSTEM) in the sysadmin server role. pbsgui detects and flags a disabled TCP/IP during discovery and tells you the fix.

Install

Download an installer from the latest release. Two are attached; pick one:

  • pbsgui_<ver>_x64-setup.exe (full, ~200 MB) bundles the WebView2 runtime and installs with no internet access. Use this for air-gapped servers.
  • pbsgui_<ver>_x64-setup-online.exe (small) downloads the WebView2 runtime at install time if it is missing. Use this when the machine has internet.
  1. Download and run one of the installers.
  2. The installer is unsigned, so Windows SmartScreen may warn: choose More info -> Run anyway.
  3. The installer registers and starts the pbsgui-engine background service and opens the app. Add a PBS server and (optionally) a SQL Server connection, then create a job.

To upgrade, run the new installer over the old one: it restarts the service for you and keeps your jobs, connections, servers, settings, and secrets.

How it works

pbsgui is two processes. The GUI runs unprivileged and only configures and monitors, so closing it never stops a backup. The engine does the privileged work (the PBS protocol, the scheduler, SQL Server, secret storage) and runs as a LocalSystem Windows service, so scheduled jobs run unattended. The GUI requests admin rights at launch (a UAC prompt) so it can connect to the engine's administrator-only control socket. See docs/ARCHITECTURE.md.

Good to know

  • The app prompts for elevation (UAC) at launch so the GUI can reach the engine; accept the prompt. The service runs scheduled jobs whether or not the GUI is open.
  • Encryption keys cannot be recovered. If you lose a key, backups made with it cannot be restored, by anyone. The key is shown only once, when you create or import it, so copy it into a password manager then.
  • Always On: give each replica's job the same backup id (it defaults to the Availability Group name) so they share one continuous chain.

Documentation

  • docs/ - index, overview, why pbsgui exists, and the guides below.
  • DEPLOYMENT.md - install and run in production.
  • RELAY.md - deploy relay mode (thin agent plus proxy).
  • STATUS.md - what works, what is in progress, and planned.
  • ARCHITECTURE.md - components, the SQL backup strategy, and the relay.
  • DEVELOPERS.md - build from source, run, and test.
  • TESTING.md - the test tiers and the manual integration pass.

Building from source

pbsgui is a Cargo workspace with a static front end. See docs/DEVELOPERS.md for prerequisites, building the app and installer, and the development loop.

License

GPL-3.0-or-later. See LICENSE.

About

Proxmox Backup Windows Client

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages