Commit graph

45 commits

Author SHA1 Message Date
Nicolas Meienberger
3f550678db refactor: put export endpoint in system controller 2026-01-04 15:02:47 +01:00
Nicolas Meienberger
081a10afeb refactor: simplify export process to minimal working concept 2026-01-04 14:18:10 +01:00
Nicolas Meienberger
20c3b8156d Merge remote-tracking branch 'upstream/main' into config-export-feature 2026-01-04 12:54:19 +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
e0027b7668 refactor: code style and api client 2026-01-02 17:37:38 +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
Jakub Trávník
e15fff2c23
Merge branch 'main' into config-export-feature 2025-12-29 21:00:00 +01: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
Jakub Trávník
630b34ee10
Merge branch 'main' into config-export-feature 2025-12-23 00:22:17 +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
Jakub Trávník
512bee535a Merge remote-tracking branch 'upstream/main' into config-export-feature 2025-12-22 17:00:59 +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
6ad6044a76 Merge remote-tracking branch 'upstream/main' into config-export-feature 2025-12-17 17:41:55 +01:00
Jakub Trávník
764b64cc25 Merge remote-tracking branch 'upstream/main' into config-export-feature 2025-12-17 17:08:51 +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
Jakub Trávník
b55bebf8f4 Merge upstream/main into config-export-feature 2025-12-16 13:19:45 +01:00
Jakub Trávník
ded9d935ce Merge main into config-export-feature 2025-12-16 13:07:00 +01:00
Jakub Trávník
66f8ff0e50 few missing corrections related to all users export instead of just admin 2025-12-16 12:47:20 +01:00
Jakub Trávník
bf36f9aa56 reduced the scope of PR to MVP - exportAll only 2025-12-16 11:39:35 +01:00
Nico
b23317354c
refactor: allow to run without the SYS_ADMIN cap for simple setups (#138)
Some checks failed
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
Some checks failed
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
c3acc26e05
refactor(notification): make username and password optional (smtp) (#126)
Some checks failed
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
4c0ba33b5e
feat: notify on warning separation (#122) 2025-12-10 18:55:37 +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
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
a7e36e98d7 Add 401 error response for password requirement in export endpoints 2025-12-03 08:33:50 +01:00
Jakub Trávník
9f1a7694a3 fix: Entity lookup and frontend mutation patterns for config export
- Fix volumes/repositories export to prefer name lookup over ID
- Fallback to list+filter when only ID provided (services expect name)
- Refactor ExportDialog to use generated mutations instead of manual fetch
- Remove standalone /auth/verify-password endpoint (integrated into exports)
2025-12-03 00:12:34 +01:00
Nicolas Meienberger
dbd9ae2241 chore: generate types 2025-11-30 17:05:40 +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
7d9d3d5d3d fix: wrong compression modes used
Some checks failed
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
Nico
b26a062648
refactor: use short ids to allow changing the name of volumes & repos (#67)
Some checks failed
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
Some checks failed
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
43dfe6b190 chore: fix typing issue 2025-11-22 17:50:58 +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
c726c6fc72 feat: custom local repository path 2025-11-17 18:17:51 +01:00
Nico
e5435969be
feat: remove individual snapshot (#26) 2025-11-16 11:14:18 +01:00
Nicolas Meienberger
54ee02deb9 feat(backups): manual repository cleanup 2025-11-15 11:24:17 +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