Standard Grant - Sia Backup Manager for Proxmox

Project Name: Sia Backup Manager for Proxmox

Name of the organization or individual submitting the proposal: Dartsia Team

Project Description :

The Sia Backup Manager for Proxmox is an open-source integration plugin that enables native backup and restore capabilities for Proxmox Virtual Environment (PVE) using Sia’s decentralized storage network via renterd.

This project bridges the gap between decentralized storage and enterprise-grade virtualization management. It aims to make Sia’s distributed cloud storage accessible, reliable, and easy to use within one of the most popular self-hosted infrastructure platforms in the world.

With this plugin, system administrators and developers will be able to:

  • Store Proxmox backups (VMs and containers) directly on the Sia blockchain network.

  • Restore backups seamlessly from Sia to any Proxmox node.

  • Manage backup configurations and monitor storage states via an integrated web management module built into Proxmox’s dashboard.

Proxmox VE is widely used for private cloud deployments, homelabs, and virtualization clusters. However, its native storage integrations are limited to centralized backends such as NFS, Ceph, or commercial cloud solutions.

By integrating Sia as a storage backend, this project:

  • Expands Sia’s adoption across thousands of Proxmox environments globally.

  • Demonstrates the practical use of decentralized infrastructure for backup and disaster recovery.

  • Strengthens the Sia developer ecosystem with a reusable, well-documented plugin for other integrations.

Plugin Overview

The Sia Backup Manager will be developed as a Proxmox BackupProvider Plugin implemented in Perl, with complementary modules for storage logic, renterd communication, and metadata indexing. It will also include a web-based frontend built with React for intuitive administration.

The architecture includes:

  • Proxmox plugin modules: Sia.pm, SiaBackupPlugin.pm, and Renterd.pm

  • Local metadata index (SQLite) for backup tracking

  • REST API extensions to Proxmox’s pvedaemon for frontend communication

  • Web interface for configuration, monitoring, and restore operations

Technical Components

  • renterd API Integration:
    The plugin will communicate directly with renterd’s REST API using HTTPS and token-based authentication. Functions will include file upload, download, list, delete, and status checks.

  • Backup Workflow:
    Backups generated by Proxmox will be automatically packaged (vma.zst) and uploaded to Sia storage via renterd. Each operation will be tracked in the local SQLite index.

  • Restore Workflow:
    When restoring, the plugin retrieves archives from Sia, verifies their integrity, and mounts them into Proxmox’s standard restore pipeline.

  • Web Management Interface:
    The integrated dashboard (React-based) will allow admins to:

    • Monitor renterd connectivity and storage usage

    • View and restore backups

    • Configure API keys and storage parameters

    • Visualize upload progress and error logs

Who benefits from your project?

The Sia Backup Manager for Proxmox will:

  • Showcase the viability of Sia’s decentralized network for real-world backup use cases.

  • Enable thousands of Proxmox users to adopt Sia without any blockchain-specific knowledge.

  • Strengthen the Sia ecosystem with a production-ready integration for enterprise and open-source communities.

  • Encourage further developments (e.g., Sia plugin for Kubernetes, Docker, or Hyper-V).

By extending Sia’s presence in the infrastructure software ecosystem, this project contributes directly to the Foundation’s mission of fostering open, decentralized, and resilient storage solutions.

How does the project serve the Foundation’s mission of user-owned data?

The project aligns with the Sia Foundation’s mission by extending the usability and reach of decentralized storage to a large base of open-source infrastructure users worldwide.

We cannot provide grants to residents of jurisdictions under increased FATF monitoring, those that have active OFAC sanctions, or those that fail our bank compliance tests. We also cannot provide grants if your payment bank account is located in those same locations. Please review the following list.

Are you a resident of any jurisdiction on that list? No

Will your payment bank account be located in any jurisdiction on that list? No

Grant Specifics

Amount of money requested and justification with a reasonable breakdown of expenses.

We requested a total amount of 31750$

Category Description Amount (USD)
Core Plugin Development Design and implementation of Proxmox Perl modules (Sia.pm, Renterd.pm, etc.) $10,500
Web Interface (Frontend) React dashboard, API integration, UI/UX design $7,000
Testing & QA Unit, integration, and field testing on Proxmox clusters $4,750
Technical Documentation Developer guide, installation manual, architecture doc $1,500
Project Management & Coordination Timeline management, reporting, communication $6,000
Server & Cloud infrastructure Private server cost $2,000

Project Timeline

This project will be divided into 5 months, each month corresponding to a set of milestones :

Phase Duration Deliverables / Activities
Milestone 1 — Setup & Design 4 weeks Finalize architecture, Set up development environment, Define renterd API mappings. Implement Sia.pm Perl module
Milestone 2 — Core Plugin Development 4 weeks Implement the other Perl modules (SiaBackupPlugin.pm and Renterd.pm ), Handle uploads/downloads, Handle local index management.
Milestone 3 — Web Interface Development 4 weeks Build React-based management UI, integrate REST endpoints
Milestone 4 — Testing & Documentation 4 weeks Implement dashboards and configuration forms, Perform unit and integration tests
Milestone 5 — Deployment & Community Release 4 weeks Write developer and user documentation, Publish GitHub repo, create demo setup, share with Sia and Proxmox communities.

Potential risks that will affect the outcome of the project:

Risk Mitigation Strategy
renterd API changes during development Use stable tagged releases and version pinning.
Proxmox updates affecting plugin interfaces Follow upstream Proxmox plugin guidelines and maintain compatibility with LTS versions.

Development Information

Will all of your project’s code be open-source? Yes, All the project will be open source.

Leave a link where code will be accessible for review.

The github Link will be created.

Do you agree to submit monthly progress reports?

Yes, We agree

Previous work

Github : (https://github.com/DartSiaProject)
Playstore : https://play.google.com/store/apps/details?id=com.sia.sia_host_mobile

Contact info

Email : [email protected]

Cool. While this is definitely something I would like to see, I would like to see consideration for indexd as well as renterd in planning.

While indexd is not released… It will be an important target for a project like this. If it is not tackled in this grant, the design should at-least ensure a follow up grant can be made after. Based on that considerations should also be made on how that might be done as the reference sdks will be go/rust, and everything else is via UniFFI, currently.

Secondary though, I would like to see evaluation of what can be reused from the previous prior art that was funded (Standard Grant Proposal: Proxmox Backup Cloud Extension (Continuation)), and technical justifications on why it makes sense/needed to re-develop core infra logic in Perl vs the existing rust efforts. I have zero insight into in Proxmox systems as a developer (But I am a user of it), so im speaking fairly blindly based on surface info, but I think that should be discussed.

So take this as constructive criticism. It was unfortunate that the 1st attempt on this hit problems, so I would like to see what can be re-used and how this will integrate with the direction the ecosystem is moving.

Kudos.

1 Like

Regarding the future use of indexd, we already considered this in the design, as we will be partially using the Go middleware we developed as part of our Dartsia grant. This should allow users to switch between renterd and indexed depending on their specific needs.

The previous attempt to build a cloud backup integration for Proxmox by @rdwild was developed when Proxmox had not yet released any formal documentation or standardized framework for third-party storage plugins. That work was primarily experimental and targeted the Proxmox Backup Server (PBS) component, using Rust-based datastores and PXAR mechanisms. It represented an important exploratory step, but it was built before the publication of the official Proxmox Storage Plugin Development guidelines in September 2024.

With the introduction of this new framework, Proxmox now defines a clear and stable architecture for native integrations through Perl modules that inherit from PVE::Storage::Plugin and integrate directly with the pvedaemon service. This change fundamentally alters the way external storage systems should be connected to the platform. The older PBS module, built around PBS internals and chunked datastores, no longer fits the supported model and cannot be adapted without rewriting most of its logic. In addition, the earlier approach did not account for the newer BackupProvider interface now used by Proxmox VE 8 to support third-party backup backends.

partially using the Go middleware we developed as part of our Dartsia grant.

Can you explain the technical details of this more please? Middlewares make more sense for renterd, but not indexd.

Proxmox now defines a clear and stable architecture for native integrations through Perl modules that inherit from PVE::Storage::Plugin and integrate directly with the pvedaemon service. This change fundamentally alters the way external storage systems should be connected to the platform.

Cool. So round one reverse engineered everything and shoe-horned it in, and now there is a formal technical path to do this.

I am still wondering how this will work in regards to interop b/c indexd fundamentally shifts a lot of what renterd would do to the client, so you have to include the SDK’s in some way to communicate with the network, which are primarily go/rust with FFI.

Kudos.

The initial development of this project pre-dated the official publication of the Proxmox Storage Plugin Development guidelines in September 2024. We based our specifications on existing Proxmox documentation available at the time.

Technical Decisions

We chose Rust for development primarily because of its robust thread-safe capabilities, which are critical for reliable backup functionality. In our view, Perl was not a suitable language for extending high-performance backup solutions. This raised a fundamental question for us: Why develop the core Proxmox Backup Server in a thread-safe language like Rust, yet implement the extension capability in Perl, which lacks inherent thread safety?

Relationship with Proxmox Group

It is worth noting that the Proxmox group has independently developed an S3 plugin, which we plan to test with 'renterd` in the coming months.

Note: Our collaboration experience with the Proxmox group was challenging. In retrospect, we were disappointed by a perceived lack of cooperation during the development of our open-source project, especially given that they reviewed our documentation early on, and it is our belief that our documentation influenced the development of the existing S3 extension.

While development is currently on pause, we do not consider the project complete and would welcome additional contributions. Our core objective remains to integrate supplementary storage solutions into the Sia ecosystem.

2 Likes

Hi @innovtech - thank you for your proposal.

Some areas that will require editing before it can be presented to the Committee:

  • present a clear month by month breakdown for your milestones - as you know, we do monthly technical reviews so we want to ensure there are clear check points for everyone every 4 weeks
  • please provide at least a GitHub link to previous work - even though this specific project repo hasn’t been created yet, the Committee likes to be reminded of / or to see proof of previous work

If the above edits are made by Wednesday at 5pm ET then this proposal will be able to be reviewed by the Committee at next week’s meeting.

Hello @mecsbecs,
We have done editing on monthly milestone and we have added our github repos to show our previous work on Dartsia Project mobile app.

Thanks

Hi @innovtech - I’m not seeing the GitHub link in the edited post, could you relink?

I have added a previous work section.

Thanks, and additionally @innovtech a note that the Committee will most likely scrutinize this line in your budget:

If you can add any justification to the amount listed and clarify whether or not this a rental that would be helpful.

Hello @mecsbecs

The line item “Server & Cloud Infrastructure – Private server cost ($2,000)” refers primarily to the rental of dedicated bare-metal servers from cloud providers such as AWS, Hetzner, or OVH, specifically configured to support Proxmox VE virtualization directly on physical hardware.

This setup is required because the plugin we are developing must be tested under realistic virtualization workloads, including large VM backup and restore operations that involve high I/O throughput and multi-terabyte data volumes. Virtualized or shared cloud environments do not provide sufficient control over disk IOPS, network latency, or nested virtualization performance, which are all critical for validating the plugin’s stability and scalability when interacting with renterd and the Sia network.

Using bare-metal infrastructure allows us to reproduce production-like conditions: concurrent VM backups, multi-node Proxmox clusters, and stress testing of upload and restore processes across different network configurations. This directly supports performance tuning and ensures that the final plugin can handle enterprise-scale workloads without bottlenecks.

A small portion of this budget will also be allocated to short-term VPS instances used for auxiliary testing and deployment automation, such as validating installation procedures, API endpoints, and web-UI behavior across isolated Proxmox environments. These smaller virtual servers complement the bare-metal testing by enabling parallel environment testing and CI/CD validation.

1 Like

Thanks for your proposal to The Sia Foundation Grants Program.

After review, the Committee has decided to reject your proposal citing the following reasons:

  • Since an official S3 plugin from the Proxmox Group already exists and could fulfill the objectives described in this proposal, they do not see significant additional value or impact for the Sia community in funding a separate implementation.
  • The Committee is moving away from funding proposals for builders using renterd API.

We’ll be moving this to the Rejected section of the forum. Thanks again for your proposal, and you’re always welcome to submit new requests if you feel you can address the committee’s concerns.

Additionally, please be sure to list all team members on future proposals.