Nicolas Meienberger
45e7e88b09
fix: apply middlewares before the controller definition
2025-12-17 23:35:47 +01:00
Nicolas Meienberger
1d76e18d38
fix(sortable-card): keep opacity at 100 on mobile
2025-12-17 23:35:14 +01:00
orbisai0security
3cebc1ce47
fix: resolve high vulnerability V-002
...
Automatically generated security fix
2025-12-17 07:47:05 +00: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
47b3c80317
refactor(secret-input): remove isDirty check
2025-12-16 20:45:33 +01:00
Nicolas Meienberger
e57efcfcdc
refactor: extract sortable card into its own component
2025-12-16 20:23:44 +01:00
Nicolas Meienberger
b983add4ca
chore(frontend): parametrize server IP
2025-12-16 19:40:53 +01:00
Nicolas Meienberger
e39552ee68
chore: small code style improvements
2025-12-16 19:36:37 +01:00
Nicolas Meienberger
feb6353e21
chore(frontend): parametrize server IP
2025-12-16 18:02:54 +01:00
Nicolas Meienberger
fe5810b1a7
fix: circular dependency
2025-12-16 18:02:54 +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
Nicolas Meienberger
ebca72f1ee
fix: username optional in snapshot output
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
Nicolas Meienberger
fe5c9ea599
refactor(rclone-form): minor UI improvements
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
Nicolas Meienberger
affd300a09
fix(rclone-volume): remote was not loaded correctly in the form
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
008af5487d
Invalidates backup schedule queries on reorder
...
Ensures the backup schedule list is refreshed after reordering,
both on success and on error, by using the dedicated query key
instead of a generic string. This guarantees the UI reflects
the latest state.
2025-12-15 16:19:33 +03: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
c3f5cd6b4e
properly generate migration
2025-12-15 13:30:51 +03:00
Raj Dave
fa8e06a92e
fix timestamp in drizzle journal
2025-12-15 13:26:47 +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
c4ec8ea62b
secret reference frontend usage
2025-12-15 10:50:24 +01:00
Jakub Trávník
58b1a0574e
secret reference server usage
2025-12-15 10:50:13 +01:00
Jakub Trávník
605fb1c27c
secret reference core support
2025-12-15 10:48:35 +01:00
Nicolas Meienberger
5216cc195d
fix: circular dependency
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-14 20:49:27 +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
Nicolas Meienberger
95e4fe5547
fix: username optional in snapshot output
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-14 20:25:42 +01:00
Nico
361311285a
refactor: remove docker volum plugin functionnality ( #137 )
2025-12-14 11:07:32 +01:00
Nicolas Meienberger
1eb247deec
refactor(rclone-form): minor UI improvements
2025-12-14 10:44:05 +01:00
Nico
8a5d45cbfb
fix: run forget on mirrors in the background ( #136 )
2025-12-14 10:34:25 +01:00
Nicolas Meienberger
7619612b1b
fix(rclone-volume): remote was not loaded correctly in the form
2025-12-14 10:33:16 +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
2ddf3c6597
refactor: split forms ( #124 )
...
* refactor: split create-volume-form
* refactor: split create-repository-form
* chore: pr feedbacks
2025-12-10 21:16:20 +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
7091f1f296
chore: remove retry-lock
2025-12-06 11:17:31 +01:00
Nicolas Meienberger
fdb84374a0
refactor: remove icons where it was making the context worse
2025-12-06 11:13:26 +01:00
Nicolas Meienberger
c42380b26b
refactor: remove trim on password
...
The password should be taken as-is. It could potentially contain a space
2025-12-06 10:36:39 +01:00
Nicolas Meienberger
51ed47c30f
refactor: no need to print safe args as it's already sanitized
2025-12-06 10:36:39 +01:00
Nicolas Meienberger
b8ae10b316
fix: volume data not refreshing when changing selection
2025-12-06 10:36:39 +01:00
Nico
f232fc07c1
feat: custom include patterns ( #104 )
...
* feat: add custom include patterns
* feat: add exclude-if-present option
2025-12-06 10:36:39 +01:00
Nico
d542318e2c
feat: naming backup schedules ( #103 )
...
* docs: add agents instructions
* feat: naming backup schedules
* fix: wrong table for filtering
2025-12-06 10:36:39 +01:00
Nicolas Meienberger
2660d91002
fix: broken migration
2025-12-06 10:36:25 +01:00
Nicolas Meienberger
b155f82575
chore: update dependencies
2025-12-06 10:36:25 +01:00
Nico
9120153375
feat: mirror repositories ( #95 )
...
* feat: mirror repositories
feat: mirror backup repositories
* chore: pr feedbacks
2025-12-06 10:36:17 +01:00
Jakub Trávník
780fdae63e
cryptoUtils.decrypt alligned with encrypt in regards of handling extra space in password file
2025-12-06 10:35:55 +01:00
Jakub Trávník
fc482e9729
crypto.Utils comments updated to reflect behaviour
2025-12-06 10:35:55 +01:00
Jakub Trávník
1fe026a76f
avoid logging secrets in smb backend
2025-12-06 10:35:55 +01:00
Jakub Trávník
2df1fa53a0
feat: implement encryption for sensitive fields in volume backends
2025-12-06 10:35:55 +01:00
Jakub Trávník
4403e3cf19
Merge branch 'main' into missing-icons
2025-12-05 00:22:39 +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
Nicolas Meienberger
321dc4cdf7
fix: volume data not refreshing when changing selection
2025-12-04 18:54:02 +01:00
Nicolas Meienberger
0f7bd1e042
fix: remove debug logs in production
2025-12-04 18:46:12 +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
Nicolas Meienberger
b8e30e298c
fix: broken migration
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-03 21:56:41 +01:00
Nicolas Meienberger
ce07c588ad
chore: update dependencies
2025-12-03 20:55:38 +01:00
Nico
e7f0a2828d
feat: mirror repositories ( #95 )
...
* feat: mirror repositories
feat: mirror backup repositories
* chore: pr feedbacks
2025-12-03 20:52:47 +01:00
Jakub Trávník
ff4c1404a6
feat: add icons to buttons and alerts for improved UI clarity
2025-12-03 17:31:44 +01:00
Nicolas Meienberger
7ff38f0128
refactor: run forget commands in the background
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-01 20:22:43 +01:00
Nicolas Meienberger
33e6f3773b
fix: only lock shared tasks if an exclusive is running
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-01 20:07:30 +01:00
Nico
9b46737852
refactor(repositories): add a locking mechanism for restic operations ( #94 )
...
* refactor(repositories): add a locking mechanism for restic operations
* fix: add missing lock in list repositories
2025-12-01 19:47:21 +01:00
Nicolas Meienberger
dbd9ae2241
chore: generate types
2025-11-30 17:05:40 +01:00
Nico
0287bca4bb
restore as a page ( #87 )
...
* feat: add custom restore target directory
Adds the ability to restore snapshots to a custom directory instead of
only the original path. Closes #12 .
Changes:
- Add target parameter to restore API endpoint
- Add directory picker UI in file browser restore dialog
- Add target input field in snapshot restore form
- Create reusable PathSelector component
Note: Run `bun run gen:api-client` after merging to regenerate types.
* refactor: path selector design
* refactor: unify restore snapshot dialogs
* refactor: restore snapshot as a page
* chore: fix liniting issues
* chore(create-notification): remove un-used prop
---------
Co-authored-by: Deepseek1 <Deepseek1@users.noreply.github.com>
2025-11-30 16:47:14 +01:00
Jakub Trávník
03b898f84c
Update app/client/modules/notifications/components/create-notification-form.tsx
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-30 15:38:45 +01:00
Jakub Trávník
6fbb11fefe
telegram notification
2025-11-30 15:15:26 +01:00
Nico
3bf3b22b96
feat: restore to custom location ( #78 )
...
* feat: restore to custom location
* refactor: define overwrite mode in shared schema
2025-11-29 16:53:44 +01:00
Nicolas Meienberger
58708cf35d
refactor: repo healthcheck once per day
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-11-29 12:25:46 +01:00
Nicolas Meienberger
1d4e7100ab
fix: healtcheck, to not read full data
2025-11-29 12:24:07 +01:00
Nicolas Meienberger
0dfe000148
feat: rename volumes & repositories
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-11-28 20:47:27 +01:00
Nicolas Meienberger
7d9d3d5d3d
fix: wrong compression modes used
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-11-28 20:28:47 +01:00
Nicolas Meienberger
8e90c4ace1
refactor: native repository healthcheck
2025-11-28 08:20:06 +01:00
Nico
673827f9f3
refactor: all timestamps to ms ( #77 )
...
* refactor: change all timestamps to be in miliseconds
* chore: format files
* chore: fix syntax error
2025-11-26 23:20:22 +01:00
Nicolas Meienberger
4328607cc1
fix: skip renaming imported repository
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-11-26 22:20:42 +01:00
Nicolas Meienberger
bedd325a60
fix(db): set pragma after migrations
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-11-26 20:12:12 +01:00
Nico
b26a062648
refactor: use short ids to allow changing the name of volumes & repos ( #67 )
...
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: use short ids to allow changing the name of volumes & repos
* refactor: address PR feedbacks
* fix: make short_id non null after initial population
2025-11-26 19:47:09 +01:00
Nico
d190d9c8cd
feat: partial success warning status ( #74 )
...
* feat: report partial backups with warnings
* chore: rebase
* chore: remove un-used size prop
2025-11-26 19:02:29 +01:00
Nicolas Meienberger
e99487eed9
fix(notifications): multiple providers using the wrong params
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-11-23 21:09:23 +01:00
Nicolas Meienberger
8d4e5d2d4e
fix(ntfy): wrong usage of token
2025-11-23 20:49:44 +01:00
Nicolas Meienberger
daea3e64e4
fix(smtp-notification): always use smtp://
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-11-23 20:37:21 +01:00
Nicolas Meienberger
70df79079f
fix(backups): correctly apply repository compression mode
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-11-23 17:53:13 +01:00
Nicolas Meienberger
43dfe6b190
chore: fix typing issue
2025-11-22 17:50:58 +01:00
Nicolas Meienberger
8c4939af4e
feat(notifications): native support for pushover
2025-11-22 17:48:19 +01:00
Nicolas Meienberger
a622b5e689
feat: exclude specific xattr during restore
2025-11-22 17:39:08 +01:00
Nico
6c30e7e357
Feat/notifications alerts ( #52 )
...
* feat: notifications backend & creation
* feat: assign notification to backup schedule
* refactor: status dot one component
* chore(notification-details): remove refetchInterval
2025-11-22 14:58:21 +01:00
Nicolas Meienberger
043f73ea87
fix: properly decode path to support all special unicode characters
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-11-21 18:25:27 +01:00
Nico
a250c442f8
feat: add sftp repositories support ( #36 )
2025-11-20 20:31:40 +01:00
Nico
cb0d23fd52
refactor: rebrand to zerobyte ( #45 )
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-11-20 18:59:57 +01:00
Nicolas Meienberger
0e4c302620
refactor: make healthchecks less expensive
2025-11-20 18:50:40 +01:00
Nicolas Meienberger
70e4c782ff
fix: undefined path in local repo
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-11-17 21:09:46 +01:00
Nicolas Meienberger
c726c6fc72
feat: custom local repository path
2025-11-17 18:17:51 +01:00
Nicolas Meienberger
4d48d7be58
feat: add support for REST server
2025-11-16 18:24:09 +01:00
Nicolas Meienberger
df6b70c96f
fix(create-volume): all port fields as number
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-11-16 17:27:49 +01:00
Nicolas Meienberger
94423bd0a5
chore: remove unnecessary deps
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-11-16 17:20:46 +01:00
Copilot
0d36484c04
Add "Ironmount" prefix to page titles and display version in sidebar ( #28 )
...
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
* Initial plan
* Initial exploration - understanding the codebase
Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>
* Add "Ironmount - " prefix to all route titles and version in sidebar
Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: nicotsx <47644445+nicotsx@users.noreply.github.com>
2025-11-16 16:49:35 +01:00
Nicolas Meienberger
98924ea59d
fix: timezone parsing cron
2025-11-16 11:51:00 +01:00
Nico
e5435969be
feat: remove individual snapshot ( #26 )
2025-11-16 11:14:18 +01:00
Nicolas Meienberger
2c0f22af59
fix(create-repo): don't try to load rclone remotes if the capability is disabled
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-11-15 12:22:56 +01:00
Nicolas Meienberger
3ff6a04f8e
feat(repositories): allow importing existing repos
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-11-15 11:58:52 +01:00
Nicolas Meienberger
54ee02deb9
feat(backups): manual repository cleanup
2025-11-15 11:24:17 +01:00
Nicolas Meienberger
b83881c189
fix(backups): re-calculate next backup date before starting the backup
2025-11-15 11:13:23 +01:00
Nicolas Meienberger
681cf5dff1
fix: hide test-connection button for directories
2025-11-15 10:15:25 +01:00
Nicolas Meienberger
31da747c2d
fix: mount and unmount command not properly throwing errors
2025-11-15 10:08:16 +01:00
Nicolas Meienberger
3622fd57ef
refactor(repository): keep the error if repo is already init
2025-11-15 09:45:04 +01:00
Renan Bernordi
9a1797b8b2
backup file and folders
2025-11-14 23:21:13 -03:00
Renan Bernordi
52046c88cc
support cloudflare r2
2025-11-14 22:37:27 -03:00
Nicolas Meienberger
cfeff643c4
refactor(create-volume): from dialog to page
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-11-14 21:23:52 +01:00
Nicolas Meienberger
c898e1ce07
refactor(create-repository): from dialog to page
2025-11-14 21:10:40 +01:00
Nicolas Meienberger
c179a16d15
refactor: small code style
2025-11-14 20:59:13 +01:00
Nicolas Meienberger
00916a1fd2
refactor(browsers): create hook for common operations
2025-11-14 20:56:06 +01:00
Nicolas Meienberger
18f863cbac
chore: remove node_modules folder
2025-11-14 20:03:11 +01:00
Nicolas Meienberger
1b8595c17e
fix: cookie not secure
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-11-14 19:13:14 +01:00
Nicolas Meienberger
6e6becec3b
refactor(breadcrumbs): use handler & match pattern
2025-11-13 22:28:53 +01:00
Nico
95a0d44b45
refactor: unify backend and frontend servers ( #3 )
...
* refactor: unify backend and frontend servers
* refactor: correct paths for openapi & drizzle
* refactor: move api-client to client
* fix: drizzle paths
* chore: fix linting issues
* fix: form reset issue
2025-11-13 20:11:46 +01:00