[PR #1603] [CLOSED] Restic support for backups #1480

Closed
opened 2026-02-05 18:15:11 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/pelican-dev/panel/pull/1603
Author: @IThundxr
Created: 8/12/2025
Status: Closed

Base: mainHead: feat/restic


📝 Commits (10+)

  • 8529453 Restic support
  • e3ed582 Revert local dev changes
  • 54ac338 Run linting
  • 0aed832 Improve settings options for restic backups
  • 8fbd4f6 Implement validation for s3 settings
  • a5c9e12 Fix Restic Repository option not being filled with the current value
  • 57c16e9 Fix restic_help
  • 7f70c5f Remove reliance on FilesystemAdapter for backups
  • 6d89fa5 Abstract BackupRemoteUploadController to allow for different adapaters to provide extra information to wings
  • 8581192 Fix WingsBackupAdapter#provideUploadInfo

📊 Changes

18 files changed (+381 additions, -196 deletions)

View changed files

app/Extensions/Backups/Adapter/ResticBackupAdapter.php (+47 -0)
app/Extensions/Backups/Adapter/S3BackupAdapter.php (+122 -0)
app/Extensions/Backups/Adapter/WingsBackupAdapter.php (+19 -0)
app/Extensions/Backups/BackupAdapter.php (+16 -0)
📝 app/Extensions/Backups/BackupManager.php (+35 -17)
app/Extensions/Filesystem/S3Filesystem.php (+0 -38)
📝 app/Filament/Admin/Pages/Settings.php (+50 -3)
📝 app/Http/Controllers/Api/Remote/Backups/BackupRemoteUploadController.php (+24 -96)
📝 app/Http/Controllers/Api/Remote/Backups/BackupStatusController.php (+13 -13)
📝 app/Models/Backup.php (+8 -6)
📝 app/Repositories/Daemon/DaemonBackupRepository.php (+1 -1)
📝 app/Services/Backups/DeleteBackupService.php (+8 -8)
📝 app/Services/Backups/DownloadLinkService.php (+3 -2)
📝 app/Services/Servers/ServerDeletionService.php (+9 -9)
📝 config/backups.php (+10 -0)
📝 lang/en/admin/setting.php (+13 -0)
📝 routes/api-remote.php (+1 -1)
📝 tests/Integration/Services/Backups/DeleteBackupServiceTest.php (+2 -2)

📄 Description

This is a set of PRs which implement support for restic in the current backup system. Restic basically allows for incremental and deduplicated backups which would take up much less space then the current wings/s3 backups.

Related Wings PR: https://github.com/pelican-dev/wings/pull/117

Tasks:

  • Document Restic backups and explain how they work, and what is required to set them up

Tasks Panel:

  • Undo changes for local development
  • Look into if FilesystemAdapter is actually needed for backups, if not refactor it to use something else
  • Ensure all restic backups are deleted properly when a server is deleted
  • Restic Repository setting doesn't fill in with the current value

Tasks Wings:

  • Test Local restic backups
  • Test S3 restic backups
  • Either bundle restic in the docker image or document how to properly mount the restic binary into the container
  • Implement folder for restic caching when in a container
  • Implement support for restic in RemoveAllServerBackups

@coderabbitai ignore


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/pelican-dev/panel/pull/1603 **Author:** [@IThundxr](https://github.com/IThundxr) **Created:** 8/12/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `feat/restic` --- ### 📝 Commits (10+) - [`8529453`](https://github.com/pelican-dev/panel/commit/8529453e4cf50ab31b57357c15ea12d40e8959e1) Restic support - [`e3ed582`](https://github.com/pelican-dev/panel/commit/e3ed58219c7bfa4f5422092501f1390df9aca322) Revert local dev changes - [`54ac338`](https://github.com/pelican-dev/panel/commit/54ac338cd0ca0ca5121481f961c348ff243c2df9) Run linting - [`0aed832`](https://github.com/pelican-dev/panel/commit/0aed832ea0fe3ec30b6c6245b4334e7b23c045a2) Improve settings options for restic backups - [`8fbd4f6`](https://github.com/pelican-dev/panel/commit/8fbd4f6dd3aef764225d6977610848ecb7bff77b) Implement validation for s3 settings - [`a5c9e12`](https://github.com/pelican-dev/panel/commit/a5c9e128cbc79d43aea19b20cda3084d59805da8) Fix Restic Repository option not being filled with the current value - [`57c16e9`](https://github.com/pelican-dev/panel/commit/57c16e9022230fe958fc634943685329440205f4) Fix restic_help - [`7f70c5f`](https://github.com/pelican-dev/panel/commit/7f70c5f81a9a63ef5e231e854b55575d2772559c) Remove reliance on FilesystemAdapter for backups - [`6d89fa5`](https://github.com/pelican-dev/panel/commit/6d89fa50413455a86925741fb2d226da2fc9ed41) Abstract BackupRemoteUploadController to allow for different adapaters to provide extra information to wings - [`8581192`](https://github.com/pelican-dev/panel/commit/85811923fb1d5d8c431670d29282c1dc474884da) Fix WingsBackupAdapter#provideUploadInfo ### 📊 Changes **18 files changed** (+381 additions, -196 deletions) <details> <summary>View changed files</summary> ➕ `app/Extensions/Backups/Adapter/ResticBackupAdapter.php` (+47 -0) ➕ `app/Extensions/Backups/Adapter/S3BackupAdapter.php` (+122 -0) ➕ `app/Extensions/Backups/Adapter/WingsBackupAdapter.php` (+19 -0) ➕ `app/Extensions/Backups/BackupAdapter.php` (+16 -0) 📝 `app/Extensions/Backups/BackupManager.php` (+35 -17) ➖ `app/Extensions/Filesystem/S3Filesystem.php` (+0 -38) 📝 `app/Filament/Admin/Pages/Settings.php` (+50 -3) 📝 `app/Http/Controllers/Api/Remote/Backups/BackupRemoteUploadController.php` (+24 -96) 📝 `app/Http/Controllers/Api/Remote/Backups/BackupStatusController.php` (+13 -13) 📝 `app/Models/Backup.php` (+8 -6) 📝 `app/Repositories/Daemon/DaemonBackupRepository.php` (+1 -1) 📝 `app/Services/Backups/DeleteBackupService.php` (+8 -8) 📝 `app/Services/Backups/DownloadLinkService.php` (+3 -2) 📝 `app/Services/Servers/ServerDeletionService.php` (+9 -9) 📝 `config/backups.php` (+10 -0) 📝 `lang/en/admin/setting.php` (+13 -0) 📝 `routes/api-remote.php` (+1 -1) 📝 `tests/Integration/Services/Backups/DeleteBackupServiceTest.php` (+2 -2) </details> ### 📄 Description This is a set of PRs which implement support for [restic](https://restic.net/) in the current backup system. Restic basically allows for incremental and deduplicated backups which would take up much less space then the current wings/s3 backups. Related Wings PR: https://github.com/pelican-dev/wings/pull/117 Tasks: - [ ] Document Restic backups and explain how they work, and what is required to set them up Tasks Panel: - [x] Undo changes for local development - [x] Look into if FilesystemAdapter is actually needed for backups, if not refactor it to use something else - [x] Ensure all restic backups are deleted properly when a server is deleted - [x] Restic Repository setting doesn't fill in with the current value Tasks Wings: - [x] Test Local restic backups - [x] Test S3 restic backups - [x] Either bundle restic in the docker image or document how to properly mount the restic binary into the container - [x] Implement folder for [restic caching](https://restic.readthedocs.io/en/latest/manual_rest.html#caching) when in a container - [x] Implement support for restic in RemoveAllServerBackups @coderabbitai ignore --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 18:15:11 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/panel-pelican-dev#1480