Nicolas Meienberger
df164af0f2
fix: properly catch before fallback mount
2026-01-11 16:26:26 +01:00
Nico
1074d022b3
chore: add a pre-commit hook to format files ( #336 )
...
chore: add a pre-commit hook to format files
2026-01-10 11:57:24 +01:00
Jakub Trávník
1d2e737a98
fix: increase name length limit from 32 to 128 characters in backup schedule schema ( #330 )
2026-01-09 18:29:35 +01:00
Nicolas Meienberger
8a05423153
fix: fallback to use non mount helper in case of failed mount
2026-01-08 21:44:03 +01:00
Nicolas Meienberger
a4464d243a
refactor: auth to proxy pattern
2026-01-08 20:50:08 +01:00
Nicolas Meienberger
10b85fdd42
chore: verbose logging for mount commands
2026-01-08 20:35:14 +01:00
Nico
72a0c2e923
refactor: implement a proper code migration system ( #324 )
...
* refactor: implement a proper code migration system
* chore: rename .tsx -> .ts
2026-01-08 20:35:14 +01:00
Jakub Trávník
87d267a1c3
static import and error catching
2026-01-08 15:22:20 +01:00
Jakub Trávník
89315bb8a1
fix: defer auth initialization until after passfile exists
2026-01-08 14:57:06 +01:00
Nico
99932a8522
refactor: better-auth ( #319 )
...
* refactor: better-auth
* chore: pr feedback
* chore: lower + trim usernames in db
2026-01-07 22:36:20 +01:00
Nico
b216219209
refactor: move from biome to oxlint/oxformat ( #311 )
...
* chore: install and configure oxlint
* chore: fix liniting issues
* chore: install and configure oxfmt
* ci: add oxlint action instead of biome
* chore: pr feedbacks
* Revert "chore: pr feedbacks"
This reverts commit 525dcd8d9f .
2026-01-05 21:04:37 +01:00
Nico
ebbf3391a7
refactor(notifications): add more context in title ( #296 )
...
* refactor(notifications): add more context in title
* chore: pr feedback
2026-01-05 20:46:36 +01:00
Nico
a2ee223ee7
refactor: use backend cache in restic operations ( #295 )
2026-01-04 16:37:42 +01:00
Nico
d7bcf4c9e2
feat: display updates and release notes ( #290 )
...
* feat: display notification when new release is available
* refactor: standalone re-usable cache util
* refactor: clear cache on server startup
* refactor: add timeout to gh release fetch
* fix: run with app version env variable
2026-01-04 10:19:23 +01:00
Nicolas Meienberger
1fff5f53c5
chore: fix migration version
2026-01-03 00:26:57 +01:00
Nicolas Meienberger
3eb07ef924
refactor: allow the server to start, even in case of migration failure
2026-01-03 00:16:42 +01:00
Nico
b0a1e4b3d7
fix: also migrate tag for schedule mirrors ( #283 )
2026-01-02 23:07:14 +01:00
Nico
b8fe2a985b
feat: insecure tls & cacert for self-hosted repos ( #277 )
...
* feat: insecure tls & cacert for self-hosted repos
* fix: extra arg
2026-01-02 18:13:19 +01:00
tvories
07e68b9fe7
feat: add support for a cacert configuration as well as allowing the user to skip tls validation
2026-01-02 17:05:43 +01:00
Nico
2c786dfb35
feat: snapshots bulk actions ( #256 )
...
* feat: delete snapshots in bulk
* feat: re-tag snapshots in bulk
* chore: pr feedbacks
2026-01-02 17:04:06 +01:00
Nico
658c42a53b
feat: add generic webhook form & refactor each type in its own form ( #239 )
...
* feat: add generic webhook form & refactor each type in its own form
* chore: pr feedbacks
* fix(email-form): filter out empty emails
2026-01-02 14:56:35 +01:00
Nicolas Meienberger
b0c397ab87
Merge branch 'SaarLAN-Pissbeutel-ntfy-access-token'
2026-01-02 14:24:43 +01:00
Nicolas Meienberger
d535f02536
refactor: code readability
2026-01-02 14:24:22 +01:00
Jakub Trávník
94c84d7c58
feat: include schedule name in backup notifications and logs ( #215 )
...
* feat: include schedule name in backup notifications and logs
* lint fixes
2026-01-02 14:22:03 +01:00
SaarLAN-Pissbeutel
15fe9b25bd
code cleanup
2025-12-30 11:56:13 +00:00
SaarLAN-Pissbeutel
1b8154a74b
add access token for ntfy notifications
2025-12-30 11:08:32 +00:00
Nico
c05aa8d5bf
feat: add support for SFTP volume backend ( #249 )
...
* feat: add support for SFTP volume backend
* feat: allow more secure SFTP connection with known hosts
* refactor: make default value for skip host key check to false
* refactor: use os.userInfo when setting uid/gid in mount commands
2025-12-28 18:30:49 +01:00
Nico
ae5233d9fb
refactor: tag snapshots with schedule short_id instead of db id ( #248 )
...
* refactor: tag snapshots with schedule short_id instead of db id
* chore: formatting issues
2025-12-28 11:42:25 +01:00
Nicolas Meienberger
52a6ed6070
refactor: import local repositories use path only and not name
2025-12-26 17:29:42 +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
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
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
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
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
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
Nicolas Meienberger
f77fd86694
Merge branch 'tvarohohlavy-secrets-management'
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