Nicolas Meienberger
01c2a3669c
refactor(backups): tag snapshots by backup id and run forget by grouping first by tags
2025-11-04 20:13:00 +01:00
Nicolas Meienberger
ecd517341c
fix(backup-details): re-fetch when selected snapshot is changed
2025-11-04 18:41:30 +01:00
Nicolas Meienberger
ef27ab8ed8
fix(file-tree) select parent even if children are not loaded yet
2025-11-04 18:13:35 +01:00
Nicolas Meienberger
d1e46918ec
refactor: simplify snapshot file explorer
2025-11-04 18:01:37 +01:00
Nicolas Meienberger
11ca80a929
feat: backup details snapshots timeline & file explorer
2025-11-03 22:03:55 +01:00
Nicolas Meienberger
f2643436b0
refactor: snapshots flat response
2025-11-03 21:54:31 +01:00
Nicolas Meienberger
acc5f44565
feat: select folders to backup when creating a job
2025-11-02 19:16:24 +01:00
Nicolas Meienberger
ccfa5e35e9
refactor: delete alert dialogs
2025-11-02 16:55:24 +01:00
Nicolas Meienberger
c2041932b5
feat: delete backup schedule
2025-11-02 16:52:25 +01:00
Nicolas Meienberger
44917f3513
fix(create-backup): missing submit button
2025-11-02 16:47:42 +01:00
Nicolas Meienberger
3e514e61db
feat(backups): add backup card
2025-11-02 16:42:21 +01:00
Nicolas Meienberger
67e7d36fe7
refactor(ui): use dot for backup status
2025-11-02 16:36:02 +01:00
Nicolas Meienberger
8f447ac58d
refactor: use correct namings
2025-11-02 16:05:22 +01:00
Nicolas Meienberger
3befa127d7
refactor: frontend components consolidation
2025-11-01 19:42:13 +01:00
Nicolas Meienberger
18115b374c
feat(frontend): backup jobs page
2025-11-01 17:09:43 +01:00
Nicolas Meienberger
d81f3653ec
feat: run backup now
2025-10-31 22:16:31 +01:00
Nicolas Meienberger
c64e50bdec
chore: drizzle config root
2025-10-31 22:05:28 +01:00
Nicolas Meienberger
afeaf87bb0
refactor(utils): use nsenter only if /host/proc is mounted
2025-10-31 22:04:55 +01:00
Nicolas Meienberger
ee79fce2aa
feat(frontend): restore whole snapshot
2025-10-31 21:52:54 +01:00
Nicolas Meienberger
c7db88fb56
feat(snapshot): backend restore api
2025-10-31 21:15:43 +01:00
Nicolas Meienberger
5846c1ff86
feat: snapshot files list frontend
2025-10-30 19:01:49 +01:00
Nicolas Meienberger
b80a187108
feat(snapshots): list files in snapshots api
2025-10-30 18:58:57 +01:00
Nicolas Meienberger
ed73ca73fb
refactor(snapshots): unify tables in a single component
2025-10-30 18:38:05 +01:00
Nicolas Meienberger
bd168df352
style(layout): fix header sticky
...
style(layout): fix unnecessary scroll
2025-10-30 18:22:53 +01:00
Nicolas Meienberger
cce2d356fe
feat: backup schedule frontend
2025-10-30 18:18:11 +01:00
Nicolas Meienberger
9628310d53
refactor(backups): use upsert instead of create/update split
2025-10-29 21:14:41 +01:00
Nicolas Meienberger
e335133237
fix(restic): unlock repo before trying to backup
2025-10-29 19:16:20 +01:00
Nicolas Meienberger
b188a84af3
refactor: simplify dtos and improve type saftey in json returns
2025-10-29 18:28:00 +01:00
Nicolas Meienberger
d1c1adaba7
feat: backup schedule creation form
2025-10-28 22:34:56 +01:00
Nicolas Meienberger
37a22b260f
fix(login/onboarding): redirect to dashboard if already logged in
2025-10-25 22:46:37 +02:00
Nicolas Meienberger
a7bc1c2e7e
refactor: bind /proc and mount volumes with nsenter
2025-10-25 22:30:33 +02:00
Nicolas Meienberger
43e31596f1
feat(backend): backup service with retention policy
2025-10-25 20:38:13 +02:00
Nicolas Meienberger
2202ad3247
refactor(backend): better job scheduling pattern
2025-10-25 17:46:01 +02:00
Nicolas Meienberger
47ff720adb
style(auth): redesign login and onboarding pages
2025-10-25 17:12:43 +02:00
Nicolas Meienberger
d58c4f793d
feat: enable restic cache
2025-10-23 21:10:36 +02:00
Nicolas Meienberger
f7718055eb
feat: repositories snapshots frontend
2025-10-23 20:55:44 +02:00
Nicolas Meienberger
cae8538b2e
feat(repositories): list snapshots api
2025-10-23 20:22:09 +02:00
Nicolas Meienberger
4ae738ce41
refactor: use schema constants
2025-10-23 19:25:12 +02:00
Nicolas Meienberger
8b1438ea62
feat: repositories frontend
2025-10-23 19:14:03 +02:00
Nicolas Meienberger
9d10e48da6
style: logo header
2025-10-22 22:16:29 +02:00
Nicolas Meienberger
a927411c0d
style: full width design
2025-10-22 21:28:14 +02:00
Nicolas Meienberger
a64de8ec78
refactor: / -> /volumes
2025-10-21 21:03:38 +02:00
Nicolas Meienberger
6960b4d71e
feat: sidebar
2025-10-21 20:45:20 +02:00
Nicolas Meienberger
06cb401cf7
fix(lifecycle): catch error on startup
2025-10-21 20:30:42 +02:00
Nicolas Meienberger
0090c3c43c
refactor(schemas): move restic schemas to a subfolder
2025-10-21 19:57:04 +02:00
Nicolas Meienberger
100c24de13
feat: encrypt repository credentials at rest
2025-10-18 15:15:30 +02:00
Nicolas Meienberger
6e8aa4b465
feat: repositories controller and service for crd
2025-10-18 14:23:42 +02:00
Nicolas Meienberger
ad54948a69
refactor: use getVolumePath helper
2025-10-17 23:39:16 +02:00
Nicolas Meienberger
5b6a86331e
fix(list): copy path to clipboard
2025-10-17 23:26:58 +02:00
Nicolas Meienberger
8fcc9ada74
feat: cleanup dangling volumes and folders on startup and on schedule
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-10-17 23:01:47 +02:00
Nicolas Meienberger
8a9d5fc3c8
refactor(statfs): switch back to statfs but convert values for smb
2025-10-17 22:22:22 +02:00
Nicolas Meienberger
219dec1c9c
fix(statfs): fix usage graph by using df command
2025-10-17 21:34:40 +02:00
Nicolas Meienberger
3bda6e81ae
feat(details): keep tab in url to preserve active tab on reload
2025-10-17 21:23:33 +02:00
Nicolas Meienberger
269116c25e
refactor: improve file explorer performance by pre-fetching on hover
2025-10-17 21:19:58 +02:00
Nicolas Meienberger
c8fc5a1273
chore: sanitize sensitive data from logs and error messages
2025-10-17 21:11:12 +02:00
Nicolas Meienberger
ae592481af
feat: base restic repo schemas
2025-10-17 21:03:13 +02:00
Nicolas Meienberger
65a7f436fe
fix: clean undefined values before posting form
2025-10-17 21:01:32 +02:00
Nicolas Meienberger
8af0bac63b
feat: restic pass file generation
2025-10-17 13:15:24 +02:00
Nicolas Meienberger
41756e087a
feat: report an issue button
2025-10-15 22:16:48 +02:00
Nicolas Meienberger
71ca5d3309
chore: bump bun to 1.3.0
2025-10-15 22:16:40 +02:00
Nicolas Meienberger
15f0dc637d
chore: improve logging
...
Update README with version warning
Update Ironmount image version to v0.2.0
2025-10-09 22:41:56 +02:00
Nico
1e3419c250
feat: file explorer ( #1 )
...
* feat: list volume files backend
* feat: file tree component
* feat: load sub folders
* fix: filetree wrong opening order
* temp: open / close icons
* chore: remove all hc files when cleaning
* chore: file-tree optimizations
2025-10-06 19:46:49 +02:00
Nicolas Meienberger
3d87814aee
ui: empty state
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
2025-10-04 14:43:29 +02:00
Nicolas Meienberger
56a4afdc92
chore: remove prismjs
2025-10-04 14:20:36 +02:00
Nicolas Meienberger
728cfebeb7
refactor: extract grid background
2025-10-04 14:02:34 +02:00
Nicolas Meienberger
472f7799a4
ui: redesign tabs
2025-10-04 13:26:34 +02:00
Nicolas Meienberger
e134d0e1d1
ui: redesign
2025-10-04 00:16:47 +02:00
Nicolas Meienberger
689f14dff7
ui: card corner accent
2025-10-03 23:11:14 +02:00
Nicolas Meienberger
8d46074bb1
fix: issue with the test connection message
2025-10-03 21:50:57 +02:00
Nicolas Meienberger
5f003fe69d
fix: build issues
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
2025-10-03 20:19:54 +02:00
Nicolas Meienberger
1ad8f69355
refactor: use rhf for login and onboarding
2025-10-02 21:52:55 +02:00
Nicolas Meienberger
2be7e18ab5
feat: auth client middleware
2025-10-02 21:28:08 +02:00
Nicolas Meienberger
0120641e3a
feat: onboarding flow
2025-10-02 20:30:02 +02:00
Nicolas Meienberger
689e92ffc1
chore: small ui improvements
2025-10-02 19:59:04 +02:00
Nicolas Meienberger
86adda848e
fix: mobile viewport
2025-10-02 19:34:08 +02:00
Nicolas Meienberger
c013351026
fix: make the add form scrollable for smaller screens
2025-10-02 18:47:53 +02:00
Nicolas Meienberger
1e7530cc09
feat: authentication
2025-10-02 18:47:25 +02:00
Nicolas Meienberger
a511a9ebc1
docs: update README
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
2025-10-01 21:36:45 +02:00
Nicolas Meienberger
110ebfd160
fix: form reset and default values
2025-09-28 18:14:48 +02:00
Nicolas Meienberger
202759d9de
feat: update volume
2025-09-28 15:51:18 +02:00
Nicolas Meienberger
aa32ea322d
refactor: docker volume prefix
2025-09-27 14:49:22 +02:00
Nicolas Meienberger
88e310cc4f
chore: production setup
2025-09-27 14:10:15 +02:00
Nicolas Meienberger
9f3fb8a302
fix: error message from backend
2025-09-27 12:00:32 +02:00
Nicolas Meienberger
35779b5ce3
feat: toggle auto remount
2025-09-27 11:22:47 +02:00
Nicolas Meienberger
7154dcdbac
feat: manual health check
2025-09-27 11:09:19 +02:00
Nicolas Meienberger
082192f38a
refactor: autoRemount as boolean
2025-09-27 10:51:31 +02:00
Nicolas Meienberger
592a8f52b7
feat: display containers using the volume
2025-09-27 10:16:23 +02:00
Nicolas Meienberger
481eb13a44
chore: use /var/lib/docker/volumes mountpoint
2025-09-27 00:39:29 +02:00
Nicolas Meienberger
789646412d
fix: background
2025-09-26 22:29:15 +02:00
Nicolas Meienberger
5b87050013
refactor: coming soon backups
2025-09-26 22:21:37 +02:00
Nicolas Meienberger
604e92ab1e
refactor: unify layout across tabs
2025-09-26 22:07:06 +02:00
Nicolas Meienberger
4fe742e5c8
feat: base backups tab
2025-09-26 21:35:57 +02:00
Nicolas Meienberger
bc6e6c9700
feat: add webdav support
2025-09-26 19:18:52 +02:00
Nicolas Meienberger
323312ec7b
feat: smb support
2025-09-25 21:35:08 +02:00
Nicolas Meienberger
9b57dd8a1c
fix: statfs when volume is not mounted
2025-09-25 21:28:36 +02:00
Nicolas Meienberger
6b386d28d6
feat: volume stats & charts
2025-09-25 21:16:55 +02:00
Nicolas Meienberger
c261590ea3
feat: docker usage examples & statfs
2025-09-25 21:13:49 +02:00
Nicolas Meienberger
86f7ae8a89
feat: docker usage examples
2025-09-25 07:59:59 +02:00
Nicolas Meienberger
7b778cfafd
feat: implement driver
2025-09-24 21:00:12 +02:00
Nicolas Meienberger
12ed149ffe
wip volume tabs
2025-09-24 18:25:54 +02:00
Nicolas Meienberger
6360fe3d1d
feat: app breadcrumbs
2025-09-24 18:25:31 +02:00
Nicolas Meienberger
677db2f90f
refactor: improve error handling with global router catchall
2025-09-24 17:44:41 +02:00
Nicolas Meienberger
db88bb6de2
refactor: cleanup startup code and add cron job
2025-09-23 23:01:42 +02:00
Nicolas Meienberger
5695a8c700
feat: proper timeout and order of operations
2025-09-23 22:39:42 +02:00
Nicolas Meienberger
3734ba2925
feat: mount volumes on startup
2025-09-23 19:15:28 +02:00
Nicolas Meienberger
f67152146d
feat: mount / unmount
2025-09-23 18:22:54 +02:00
Nicolas Meienberger
833bcb590f
feat: volume details
2025-09-07 16:08:08 +02:00
Nicolas Meienberger
7fe75c64e8
feat: backend status & health check
2025-09-03 22:19:06 +02:00
Nicolas Meienberger
63b983b1b1
feat: volume type icon
2025-09-03 21:55:01 +02:00
Nicolas Meienberger
91020e6f23
feat: edit volume
2025-09-03 21:42:18 +02:00
Nicolas Meienberger
ca4bd4a619
feat(client): test mount from form
2025-09-03 21:16:44 +02:00
Nicolas Meienberger
0c0a3b8581
feat(server): test mount endpoint
2025-09-02 22:52:44 +02:00
Nicolas Meienberger
de0ae08008
feat: shared type package
2025-09-02 21:59:26 +02:00
Nicolas Meienberger
9ef21d4ec2
refactor(client): zod to arktype
2025-09-02 19:33:56 +02:00
Nicolas Meienberger
eb2fbe8f75
feat: delete volume
2025-08-31 21:49:49 +02:00
Nicolas Meienberger
37effcb4e3
refactor: use rr actions/loader
...
refactor: use rr actions
2025-08-31 21:19:14 +02:00
Nicolas Meienberger
23f47bbb6b
chore: re-order backend file structure
2025-08-31 17:32:11 +02:00
Nicolas Meienberger
a16fc37b44
refactor: switch from go to bun
2025-08-31 17:32:00 +02:00