Nico
28ba8657f9
feat(runtime): start and ship the local agent ( #767 )
...
* feat(runtime): start and ship the local agent
* refactor: gate local agent behind feature flag
* chore: skip agent manager if flag is false
* fix: hot reload agents
* test: fix config tests
2026-04-10 00:00:30 +02:00
Nico
5bcc3acc56
feat(controller): add agent manager and session handling ( #763 )
2026-04-09 20:00:54 +02:00
Nico
c371676ad0
feat(agent): add standalone agent runtime ( #761 )
...
* feat(agent): add standalone agent runtime
* fix(backups): bridge local executor to Effect restic API
* fix(agent): add Bun and DOM types to agent tsconfig
* refactor: wrap backup error in a tagged effect error
* fix: pr feedbacks
2026-04-08 20:47:15 +02: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
Nicolas Meienberger
8d7e50508d
refactor: system-info hook
2025-11-11 21:48:42 +01:00
Nicolas Meienberger
52e38a6242
refactor: rclone system capability
2025-11-11 21:44:04 +01:00
Nicolas Meienberger
36b0282d18
feat(frontend): rclone repositories config
2025-11-11 21:31:10 +01:00
Nicolas Meienberger
8f9873148a
feat(repositories): rclone backends
2025-11-11 20:42:44 +01:00
Nicolas Meienberger
a1cc89c66e
fix: ensure caching in file explorers
2025-11-11 18:01:54 +01:00
Nicolas Meienberger
ff7f6ffad9
feat(repositories): azure blob storage
2025-11-10 21:07:12 +01:00
Nicolas Meienberger
e98c0af8ca
feat(repositories): add google cloud storage support
2025-11-10 21:04:08 +01:00
Nicolas Meienberger
d31fa8d464
chore: small improvements
2025-11-10 21:03:37 +01:00
Nicolas Meienberger
bf33b15b3e
fix: cleanup volumes on shutdown
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-10 07:08:51 +01:00
Nicolas Meienberger
2b0fea9645
fix(mounts): use bun shell instead of execFile
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-10 06:52:14 +01:00
Nicolas Meienberger
4ddc45a74f
style(create-schedule): fix explorer width on mobile
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-09 14:19:34 +01:00
Nicolas Meienberger
2aa90ec44d
feat: exclude patterns
2025-11-09 14:09:49 +01:00
Nicolas Meienberger
2ec8d4c1dd
chore: small fixes
2025-11-09 12:34:12 +01:00
Nicolas Meienberger
4b981bdcac
style: use card in backup progress waiting
2025-11-09 12:25:41 +01:00
Nicolas Meienberger
5e908dc945
feat: backup progress
2025-11-09 12:25:41 +01:00
Nicolas Meienberger
5f35cfd4c2
feat: throttle logs during backup
2025-11-09 12:25:41 +01:00
Nicolas Meienberger
1152939373
feat: repository doctor always visible
2025-11-09 12:25:41 +01:00
Stavros
db0d153610
chore: format
2025-11-09 13:16:14 +02:00
Stavros
ffca433a43
fix: accessibility and responsiveness fixes
2025-11-09 13:04:14 +02:00
Nicolas Meienberger
3e80850396
fix(backup): only keep last line of stdout in memory
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-08 23:41:29 +01:00
Nicolas Meienberger
5f620b4c45
feat: allow stopping an ongoing backup
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-08 23:26:53 +01:00
Nicolas Meienberger
3abf8ab12d
fix: skip backups if in_progress
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-08 18:19:49 +01:00
Nicolas Meienberger
b5ba03da3d
feat: download recovery file restic password
2025-11-08 17:52:43 +01:00
Nicolas Meienberger
b289920720
fix: timeout statfs
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-08 16:52:58 +01:00
Nicolas Meienberger
ef5d95d347
refactor: consolidate page titles
2025-11-08 14:04:06 +01:00
Nicolas Meienberger
1c4b1f34dd
fix: get correct volume path for directories
2025-11-08 11:19:22 +01:00
Nicolas Meienberger
11dd6f46c8
feat: sse for volume status change
2025-11-08 11:07:09 +01:00
Nicolas Meienberger
fd3a527164
feat: sse events
2025-11-08 11:06:26 +01:00
Nicolas Meienberger
5b4b571581
feat: local volume explore file system
2025-11-08 11:00:18 +01:00
Nicolas Meienberger
4aeebea5b2
refactor: consolidate all data in /var/lib/ironmount
2025-11-08 10:40:25 +01:00
Nicolas Meienberger
ba08c97681
feat: backup in progress status
2025-11-08 10:33:08 +01:00
Nicolas Meienberger
42497be4b5
feat: host/proc optional capability
2025-11-08 10:26:50 +01:00
Nicolas Meienberger
9d27bffc21
feat: docker optional capability
2025-11-08 10:16:18 +01:00
Nicolas Meienberger
9ec765bd90
feat: system optional capabilities
2025-11-08 10:14:42 +01:00
Nicolas Meienberger
4dc239139f
feat(repositories): healthchecks and doctor command
2025-11-08 10:11:07 +01:00
Nicolas Meienberger
f5339d3708
feat(volumes): read only mount mode
2025-11-08 10:01:54 +01:00
Nicolas Meienberger
418369c4ad
feat(settings): change password
2025-11-08 09:47:10 +01:00
Nicolas Meienberger
195aea052e
refactor(backup-details): load snapshots after page load
2025-11-08 09:24:30 +01:00
Nicolas Meienberger
c32eb0831f
fix: favicon and background image serving
2025-11-07 19:26:37 +01:00
Nicolas Meienberger
885ae02b18
fix: error details visible in backup page
2025-11-07 19:19:02 +01:00
Nicolas Meienberger
8f1e24a034
chore: update 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-11-05 22:17:11 +01:00
Nicolas Meienberger
1e68339dd9
style: fix snapshots table
2025-11-05 22:00:39 +01:00
Nicolas Meienberger
941be2f306
style(snapshots): fix margin in timeline
2025-11-05 21:31:49 +01:00
Nicolas Meienberger
99d4d46338
feat(restore): delete files not in snapshot option
2025-11-05 19:00:44 +01:00
Nicolas Meienberger
ab997ef450
feat: restore alert dialog
2025-11-05 18:36:48 +01:00
Nicolas Meienberger
9ee5871fbb
feat: restore
2025-11-05 18:30:10 +01:00
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