From 4d48d7be58b78a6b435c351a5d16cb2683e386ca Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Sun, 16 Nov 2025 18:24:09 +0100 Subject: [PATCH] feat: add support for REST server --- .../components/create-repository-form.tsx | 63 +++++++++++++++++++ app/client/components/repository-icon.tsx | 4 +- app/schemas/restic.ts | 12 +++- .../repositories/repositories.service.ts | 8 +++ app/server/utils/restic.ts | 13 ++++ 5 files changed, 98 insertions(+), 2 deletions(-) diff --git a/app/client/components/create-repository-form.tsx b/app/client/components/create-repository-form.tsx index f9e2ab6..724eda8 100644 --- a/app/client/components/create-repository-form.tsx +++ b/app/client/components/create-repository-form.tsx @@ -41,6 +41,7 @@ const defaultValuesForType = { gcs: { backend: "gcs" as const, compressionMode: "auto" as const }, azure: { backend: "azure" as const, compressionMode: "auto" as const }, rclone: { backend: "rclone" as const, compressionMode: "auto" as const }, + rest: { backend: "rest" as const, compressionMode: "auto" as const }, }; export const CreateRepositoryForm = ({ @@ -126,6 +127,7 @@ export const CreateRepositoryForm = ({ Cloudflare R2 Google Cloud Storage Azure Blob Storage + REST Server @@ -546,6 +548,67 @@ export const CreateRepositoryForm = ({ ))} + {watchedBackend === "rest" && ( + <> + ( + + REST Server URL + + + + URL of the REST server. + + + )} + /> + ( + + Repository Path (Optional) + + + + Path to the repository on the REST server (leave empty for root). + + + )} + /> + ( + + Username (Optional) + + + + Username for REST server authentication. + + + )} + /> + ( + + Password (Optional) + + + + Password for REST server authentication. + + + )} + /> + + )} + {mode === "update" && (