Jakub Trávník
7476897f87
feat(config-import): support mirrors, oneFileSystem, and optional flags
...
- Add mirrors support for backup schedules (copy to secondary repos)
- Add oneFileSystem flag to prevent crossing filesystem boundaries
- Support autoRemount=false for volumes (defaults to true)
- Support enabled=false for notification destinations (defaults to true)
- Optimize: move early return before dynamic imports in importBackupSchedules
- Update example config and README with new fields documentation
2025-12-23 15:29:27 +01:00
Jakub Trávník
9e9edd73a1
Merge remote-tracking branch 'origin/main' into config-import-json
2025-12-23 13:18:14 +01:00
Nico
ac9de54a7b
fix: allow arbitrary name for repositories and correctly import existing local repos ( #197 )
...
* fix: allow arbitrary name for repositories and correctly import existing local repos
* chore: rebase conflicts
2025-12-22 20:50:53 +01:00
Nico
55e27ef0b5
feat: server timeout env ( #219 )
...
* feat: increase server idle timeout and allow to modify it via env
* chore(app): move auth middleware to individual controller
To clean up de main app.ts file
* chore: remove console.log
2025-12-22 17:34:27 +01:00
Jakub Trávník
883ee49ded
Merge remote-tracking branch 'origin/main' into config-import-json
2025-12-22 16:27:52 +01:00
Nico
8cdd06ec49
fix(stop): always update status to warning when stop is executed ( #202 )
...
* fix(stop): always update status to warning when stop is executed
* fix: automatically put in_progress backups to warning during startup
2025-12-21 14:25:45 +01:00
Nico
492aa4178d
feat: allow to control --one-file-system option from the schedule config ( #201 )
2025-12-21 14:21:08 +01:00
Jakub Trávník
8c3e85cb50
Merge remote-tracking branch 'origin/main' into config-import-json
2025-12-21 13:12:47 +01:00
Nico
598de4e078
fix: schedules not running if never run manually ( #194 )
...
* fix: backups that were never run manually are not picked up by job
* fix(mutex): prioritize waiting exclusive locks over newly added shared tasks
2025-12-20 11:28:18 +01:00
Nicolas Meienberger
46c8139a23
fix: ensure proper error message when backup operation is aborted
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-19 23:27:25 +01:00
Nicolas Meienberger
7879d88a54
fix(backups): preserve relative include/exclude pattern behavior
2025-12-19 23:18:56 +01:00
Nico
579bc89970
fix: prepend mount path in exclude patterns ( #188 )
...
* fix: prepend mount path location in exclude patterns
* test(backups): add tests suite for backend include & exclude patterns
* test: fix leaking global module mock
2025-12-19 22:35:34 +01:00
Nico
61dc07b36b
Controllers tests ( #187 )
...
* test: backups service
* refactor: create hono app in a separate file
To avoid side effects like db migration or startup scripts when testing
test(backups): add security tests to the backups controller
* ci: run typechecks, build and tests on PR
* test: controllers security tests
* chore: update lock file
* refactor: pr feedbacks
2025-12-19 19:25:21 +01:00
Jakub Trávník
6e1cc89caa
Merge origin/main into config-import-json
2025-12-19 14:23:02 +01:00
Nico
94f49e2022
refactor: separate healthcheck and auto remount in two separate jobs ( #179 )
...
* refactor: separate healthcheck and auto remount in two separate jobs
* fix: try catch in volume auto remount
2025-12-18 23:03:41 +01:00
Nico
fd5193b5e3
refactor: reduce startup mounting noise ( #177 )
...
- Skip mount early if volume is not in error or neither mounted
- Error healthchecks early if volume is not mounted
2025-12-18 22:19:21 +01:00
Nico
a17da2562f
refactor(startup): ensure entities always use the latest configuration format ( #173 )
...
* refactor(startup): ensure entities always use the latest configuration schema
* refactor: await config updates to avoid race condition on later mount
2025-12-18 18:11:39 +01:00
Jakub Trávník
7f124f81cb
refactor the import logic
...
- Updated README to reflect changes in config file structure and usage.
- Modified error messages for user registration to be more generic.
- Cleaned up startup logic to utilize the new config import functionality when requested.
- Adjusted JSON config structure to support user definitions.
2025-12-18 15:31:27 +01:00
Nicolas Meienberger
7951a87332
refactor: don't apply strict rate limit on /me and /status endpoints
2025-12-18 12:09:34 +01:00
Nicolas Meienberger
0838ce86bd
refactor: remove cors options and fix rate limiter usage
2025-12-17 23:40:57 +01:00
Jakub Trávník
0b2576af91
Merge remote-tracking branch 'origin/main' into config-import-json
2025-12-17 18:27:32 +01:00
Nicolas Meienberger
f77fd86694
Merge branch 'tvarohohlavy-secrets-management'
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-16 20:47:29 +01:00
Nicolas Meienberger
e57efcfcdc
refactor: extract sortable card into its own component
2025-12-16 20:23:44 +01:00
Nico
9e3cc90ba1
refactor: allow to run without the SYS_ADMIN cap for simple setups ( #138 )
...
* refactor: allow to run without the SYS_ADMIN cap for simple setups
* fix: pr feedback
2025-12-16 18:02:54 +01:00
Nico
1b6539c5bf
refactor: remove docker volum plugin functionnality ( #137 )
2025-12-16 18:02:54 +01:00
Nico
dc20f209f7
fix: run forget on mirrors in the background ( #136 )
2025-12-16 18:02:54 +01:00
Nico
54d077bf43
fix: same time backups run multiple times ( #134 )
2025-12-16 18:02:54 +01:00
Nico
3efff035c5
fix(doctor): fail gracefully in case of unexpected error ( #132 )
2025-12-16 18:02:54 +01:00
Raj Dave
8e49b10042
Validates and improves schedule reordering
...
Ensures schedule reordering requests are valid by checking for duplicate and non-existent IDs.
Improves performance by using a transaction for batch updates.
2025-12-15 16:06:21 +03:00
Raj Dave
b51f3549c2
Backend and UI modifications to allow reordering of backup schedules
...
Adds drag-and-drop functionality to reorder backup schedules
Introduces a sort order field to the database schema and implements API endpoints to update the schedule order.
This allows users to visually prioritize their backup jobs.
2025-12-15 13:13:34 +03:00
Jakub Trávník
58b1a0574e
secret reference server usage
2025-12-15 10:50:13 +01:00
Nico
b23317354c
refactor: allow to run without the SYS_ADMIN cap for simple setups ( #138 )
...
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
* refactor: allow to run without the SYS_ADMIN cap for simple setups
* fix: pr feedback
2025-12-14 20:30:33 +01:00
Nico
361311285a
refactor: remove docker volum plugin functionnality ( #137 )
2025-12-14 11:07:32 +01:00
Nico
8a5d45cbfb
fix: run forget on mirrors in the background ( #136 )
2025-12-14 10:34:25 +01:00
Nico
be53466739
fix: same time backups run multiple times ( #134 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-13 23:47:41 +01:00
Nico
6ab5c549c1
fix(doctor): fail gracefully in case of unexpected error ( #132 )
2025-12-12 17:55:37 +01:00
Nicolas Meienberger
47f64b51af
docs: update version in readme
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-11 18:32:40 +01:00
Nico
c3acc26e05
refactor(notification): make username and password optional (smtp) ( #126 )
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-10 21:36:18 +01:00
Nico
ef8fd7228f
fix(mirrors): keep last copy state ( #125 )
2025-12-10 21:18:10 +01:00
Nico
9199a743db
feat: rclone volume backend ( #123 )
2025-12-10 20:20:49 +01:00
Nico
4c0ba33b5e
feat: notify on warning separation ( #122 )
2025-12-10 18:55:37 +01:00
Nicolas Meienberger
70c72f0f9a
refactor: no need to print safe args as it's already sanitized
2025-12-06 10:06:03 +01:00
Nicolas Meienberger
9ba26b7599
feat: add DOCKER_HOST support
2025-12-06 09:49:59 +01:00
Nico
6b6338291b
feat: custom include patterns ( #104 )
...
* feat: add custom include patterns
* feat: add exclude-if-present option
2025-12-06 09:49:59 +01:00
Nico
2c11b7c7de
feat: naming backup schedules ( #103 )
...
* docs: add agents instructions
* feat: naming backup schedules
* fix: wrong table for filtering
2025-12-06 09:49:59 +01:00
Nico
aff875c62f
feat: mirror repositories ( #95 )
...
* feat: mirror repositories
feat: mirror backup repositories
* chore: pr feedbacks
2025-12-06 09:49:59 +01:00
Jakub Trávník
ea9003ca4b
Merge branch 'main' into config-import-json
2025-12-05 10:56:38 +01:00
Nicolas Meienberger
e85cc35b1a
feat: add DOCKER_HOST support
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-12-04 19:09:23 +01:00
Nico
08d8a47352
feat: custom include patterns ( #104 )
...
* feat: add custom include patterns
* feat: add exclude-if-present option
2025-12-04 18:44:34 +01:00
Nico
1e20fb225e
feat: naming backup schedules ( #103 )
...
* docs: add agents instructions
* feat: naming backup schedules
* fix: wrong table for filtering
2025-12-04 18:31:00 +01:00