feature: deduplicated backups using elytra + backup storage quota + nullable server limits for unlimited #59

Closed
opened 2026-04-05 19:45:39 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @ChecksumDev on 9/20/2025

This PR marks the beginning of Pyrodactyl’s transition away from relying on Pterodactyl Wings and toward a new future powered by Pyrodactyl Elytra. While this PR does not yet fully break compatibility, it introduces new functionality that is now the default and requires Elytra: deduplicated backups.

Deduplicated Backups

Deduplicated backups are a more efficient way of storing backup data. Instead of saving a complete copy of every file each time a backup is created, the system analyzes the data and only stores what has actually changed since the last backup. Identical files or file segments are saved once and reused across multiple backups.

This approach provides:

  • Significant storage savings.
  • Faster backup creation since only new or changed data is written.
  • More efficient restores, as backups share a pool of stored data.

Under the hood, this is powered by Rustic, which provides content-addressed storage, snapshot management, and deduplication support.

Importantly, old backups remain 100% compatible. Existing installations will continue to work with traditional backups, while new panel installations will default to deduplicated backups. This behavior requires Elytra and can be customized in the configuration file, giving administrators control over which backup method best suits their needs.

Security and Compression

These new backups are encrypted and compressed by default. Each backup is secured using a key derived from the application key, ensuring backups remain tied to your Pyrodactyl installation and cannot be read without access. Compression further reduces storage usage while maintaining speed and integrity.

Resource Limits

This PR also expands the way limits can be managed. Server limits can now be set to null, effectively removing restrictions where needed. In addition, you can now apply a storage cap to backups rather than relying solely on a slot cap. This means you can allow unlimited backup slots while still keeping usage under control, since backups are constrained by total storage space.

Because storage caps can work together with deduplication, it is now possible to keep far more restore points within the same storage budget, achieving a much better balance between efficiency, flexibility, and reliability.

*Originally created by @ChecksumDev on 9/20/2025* This PR marks the beginning of Pyrodactyl’s transition away from relying on **Pterodactyl Wings** and toward a new future powered by [Pyrodactyl Elytra](https://github.com/pyrohost/elytra). While this PR does not yet fully break compatibility, it introduces new functionality that is now the default and requires Elytra: **deduplicated backups**. ## Deduplicated Backups Deduplicated backups are a more efficient way of storing backup data. Instead of saving a complete copy of every file each time a backup is created, the system analyzes the data and only stores what has actually changed since the last backup. Identical files or file segments are saved once and reused across multiple backups. This approach provides: * Significant storage savings. * Faster backup creation since only new or changed data is written. * More efficient restores, as backups share a pool of stored data. Under the hood, this is powered by **[Rustic](https://github.com/rustic-rs/rustic)**, which provides content-addressed storage, snapshot management, and deduplication support. Importantly, **old backups remain 100% compatible**. Existing installations will continue to work with traditional backups, while **new panel installations will default to deduplicated backups**. This behavior requires Elytra and can be customized in the configuration file, giving administrators control over which backup method best suits their needs. ## Security and Compression These new backups are **encrypted and compressed by default**. Each backup is secured using a key derived from the application key, ensuring backups remain tied to your Pyrodactyl installation and cannot be read without access. Compression further reduces storage usage while maintaining speed and integrity. ## Resource Limits This PR also expands the way limits can be managed. Server limits can now be set to `null`, effectively removing restrictions where needed. In addition, you can now apply a **storage cap** to backups rather than relying solely on a slot cap. This means you can allow unlimited backup *slots* while still keeping usage under control, since backups are constrained by total storage space. Because storage caps can work together with deduplication, it is now possible to keep far more restore points within the same storage budget, achieving a much better balance between efficiency, flexibility, and reliability.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/pyrodactyl#59