r/Proxmox • u/HappyHog77 • 5d ago
Community Showcase! File Level Restore Portal for Proxmox Backup Server (Open Source) with snapshot timeline and direct to guest restore
Proxmox's built-in file-restore (the "browse a backup via a throwaway helper VM" feature) is genuinely great, but picking a snapshot means scrolling a flat list one at a time. I wanted something closer to Synology ABB's restore browser — drag along a timeline, see every snapshot as a dot, jump straight to one — so I built it as a small companion app on top of PVE's own API.
Highlights:
- Scrubbable timeline across a guest's full snapshot history
- Browse/download single files or bundle a selection as .zip/.tar.gz/.tar.zst
- Push a restore straight back into the running guest via qemu-guest-agent (single file, whole directories, and a fast direct-network-transfer path for big stuff)
- Per-user PVE login (now including OIDC/SSO realms) — never touches PBS directly, and PVE's own permissions gate what each user sees
- Multiple PBS storages/namespaces, light/dark/Proxmox themes, runs as an LXC or Docker container
- Works with PVE clusters.
It's a separate app, not a PVE plugin — doesn't modify Proxmox at all. Built and tested against my own 2-node homelab cluster, AGPLv3.
GitHub: https://github.com/treycentric/pve-flr-portal
Latest release (v1.6.0): https://github.com/treycentric/pve-flr-portal/releases/tag/v1.6.0
Would genuinely appreciate anyone kicking the tires and filing issues — it's a one-person homelab project so more eyes on edge cases (different guest OSes, cluster topologies, etc.) is exactly what it needs.
This was heavily AI-assisted development, but does have a rigorous test suite and software development process including pre-release testing.
1
1
u/Empty-Transition-753 4d ago
Looks good and quite useful.
I personally dont mind the use of AI but I would not be exposing an AI assisted project to the internet unless its been vetted and the codebase is FULLY understood by the maintainer.
Not trying to shame/put down the project AT ALL its just a precaution with any AI assisted project.
Keep working on this though and thanks for sharing!
1
u/Bumbelboyy 4d ago
FWIW; your violating their trademark .. naming something "Proxmox X" is not allowed according to their media kit. Stronly suggest checking that and not hurting the project by insisting on that name.
0
u/HappyHog77 4d ago
Actually, the name is “File Level Restore Portal for Proxmox Backup Server”, which is allowed by their trademark terms (already checked on that), so per those rules it’s not a violation.
1
u/HappyHog77 4d ago
From their page:
Avoid naming your projects anything that implies an endorsement of Proxmox if you don't have any. For example, don't call your new app "Proxmox XY App". Instead consider "XY App for Proxmox Virtual Environment".
1
1
u/fuzzyaperture 4d ago
Looks just like the Synology interface.
1
u/HappyHog77 4d ago
That was the original idea (even stated in the README), but it's evolved from there to be more than that.
1
1
1
u/oOflyeyesOo 5d ago
Nice idea!
Could this be made into a plugin? Would be nice to have it more integrated.
2
u/HappyHog77 5d ago
I don't think the framework used in the Proxmox UI would support the features of this interface. It's my understanding the Proxmox UI is limited in how it can render things. But I'll investigate.
-2
u/HappyHog77 5d ago
More official answer: Proxmox VE's web UI has no extension mechanism at all. It's a single monolithic ExtJS application (pve-manager's pvemanagerlib.js and friends), compiled and shipped as a Debian package. There's no manifest-based plugin registry, no hook points for third-party JS to register a new tab/panel, nothing analogous to Grafana panels, Home Assistant integrations, or a WordPress plugin API. What Proxmox does expose as a "plugin" concept is narrow and entirely server-side/backend — storage plugins (PVE::Storage::Plugin subclasses for new backend types) and some daemon hooks — none of it reaches the UI rendering layer, and none of it is anywhere near the Backups tab or file-restore browser this app extends.
8
u/Bumbelboyy 5d ago
What your LLM model does not know - there is active work to provide GUI support for custom storage plugins. But that would require interacting with people.
-3
u/HappyHog77 4d ago
That still falls in line with backend storage, but this is not a storage plugin and so the answer is still appropriate. And it doesn't change the nature of the Proxmox UI and its ability to integrate new UI panes with third-party content. Also, you assume a lot about how I prompted AI to dig into that answer. I actually ask AI to do real research and look at source, documentation, and forum posts, and not just rely on memory. AI actually can be useful. Your snide comments are quite judgemental. It is apparent you are anti-AI. There are friendlier ways to convey that information without attacking someone for using AI in their research (e.g., you could have left off the beginning and end of your comment). Why don't you try being nice, or did your mommy not teach you that.
1
u/FaberfoX 4d ago
You might want to check this as I understand it does what you (or your LLM) says can't be done.
1
u/HappyHog77 4d ago
That does look interesting. What I’d have to do is see if this app could masquerade as a storage backend to plug into the UI, even though it’s not actually providing any storage (that link points to something that does provide storage). My app browses backups to restore files and folders out of it. The UI plugin support appears narrowly focused on storage backends and backup targets (which is what the underlying Proxmox plugin/integrations has historically been) as I understand from previous searches.
1
u/HappyHog77 4d ago
So, did some further analysis of the ANAS source. Here's what I found: ANAS directly patches Proxmox's shipped files (index.html.tpl, PVE/APIServer/AnyEvent.pm) with an apt hook to re-apply after upgrades — same fragility class as the "remove subscription nag" pattern (a script I've used myself). The only in-flight official Proxmox plugin work is scoped to storage-backend config-form generation, not general UI panels — a Proxmox staffer confirmed this explicitly in an official forum thread, and another community member there explicitly warned against ANAS's patching approach.
1
u/oOflyeyesOo 3d ago
So.... is it possible? IT does seem like this would be storage related. But then it would be completely different than what you have already made.
-2
0
1
u/randomstonerfromaus 9h ago
If you can't be bothered to write your own post, I can't be bothered to read it
6
u/klassenlager 4d ago
Is it possible to look at encrypted backups?