backrest
Backrest is a web UI and orchestrator for restic backup.
파일 탐색기
최종 버전 다운로드 (.zip)- devcontainer.json
- Dockerfile
- bug_report.md
- feature_request.md
- docs.yml
- release-please.yml
- release-preview.yml
- release.yml
- reusable-release.yml
- test.yml
- update-restic.yml
- dependabot.yml
- FUNDING.yml
- launch.json
- settings.json
- tasks.json
- bundle.sh
- icon.png
- Info.plist
- icon.ico
- installer.iss
- backrest.go
- icon.ico
- icon.png
- icon_error.ico
- icon_error.png
- icon_ok.ico
- icon_ok.png
- icon_syncing.ico
- icon_syncing.png
- icon_unix.go
- icon_warning.ico
- icon_warning.png
- icon_windows.go
- main_darwin.go
- main_linux.go
- main_other.go
- main_windows.go
- tray.go
- tray_status.go
- tray_status_test.go
- tray_stub.go
- main.go
- config.mts
- command-hook-examples.md
- reverse-proxy-examples.md
- slack-hook-build-kit-examples.md
- ssh-remote.md
- api.md
- hooks.md
- multihost.md
- operations.md
- getting-started.md
- restore-files.md
- add-plan-view.png
- add-repo-view.png
- index-snapshots-btn.png
- restore-dialog.png
- restore-progress.png
- settings-view.png
- slack-clean-job.png
- tree-view-for-restore-article.png
- favicon.ico
- index.md
- .eslintrc.cjs
- .gitignore
- .prettierignore
- package.json
- pnpm-lock.yaml
- tsconfig.json
- annotations.pb.go
- http.pb.go
- value.pb.go
- authentication.connect.go
- service.connect.go
- authentication.pb.go
- authentication_grpc.pb.go
- config.pb.go
- crypto.pb.go
- operations.pb.go
- restic.pb.go
- service.pb.go
- service_grpc.pb.go
- syncservice.connect.go
- syncservice.pb.go
- syncservice_grpc.pb.go
- sftputil.go
- sftputil_test.go
- groups.go
- permissions.go
- permissions_test.go
- cmdstreamutil.go
- encryption.go
- encryption_test.go
- errors.go
- handshake_test.go
- pairing_test.go
- peerstate.go
- peerstate_test.go
- signing.go
- syncapi_test.go
- syncclient.go
- synccommon.go
- syncmanager.go
- syncoperations_test.go
- syncserver.go
- syncstatehandler.go
- authenticationhandler.go
- backresthandler.go
- backresthandler_test.go
- downloadhandler.go
- downloadhandler_test.go
- signing.go
- signing_test.go
- summarydashboard.go
- summarydashboard_test.go
- auth.go
- auth_test.go
- bearer.go
- middleware.go
- 003relativescheduling.go
- 003relativescheduling_test.go
- 004repoguid.go
- 005checkrepopasswords.go
- 005checkrepopasswords_test.go
- 006ed25519identity.go
- migrations.go
- migrations_test.go
- validationutil.go
- validationutil_test.go
- config.go
- config_test.go
- configutil.go
- jsonstore.go
- memstore.go
- networksanitize.go
- networksanitize_test.go
- validate.go
- validate_test.go
- identity.go
- identity_test.go
- idutil.go
- pairingtoken.go
- pairingtoken_test.go
- transport.go
- transport_test.go
- environment.go
- eventemitter.go
- eventemitter_test.go
- httputil.go
- templateutil.go
- command.go
- discord.go
- gotify.go
- healthchecks.go
- registry.go
- shoutrrr.go
- slack.go
- telegram.go
- telegram_test.go
- errors.go
- hook.go
- hook_test.go
- iobatching.go
- ioutil.go
- kvstore.go
- sqlitedb.go
- sqlitekvstore.go
- sqlitekvstore_test.go
- logstore.go
- logstore_test.go
- shardedmutex.go
- tarmigrate.go
- metric.go
- memstore.go
- migrations.go
- migrations_test.go
- prewarm.go
- sqlitestore.go
- sqlitestore_test.go
- storecontract_test.go
- migrations.go
- oplog.go
- query.go
- logging.go
- command_prefix.go
- env.go
- logging.go
- repo.go
- repo_test.go
- tags.go
- errors.go
- flowidutil.go
- hookvars.go
- hookvars_test.go
- scheduling_test.go
- task.go
- taskbackup.go
- taskcheck.go
- taskcollectgarbage.go
- taskforget.go
- taskforgetsnapshot.go
- taskindexsnapshots.go
- taskprune.go
- taskrestore.go
- taskrun_test.go
- taskruncommand.go
- taskstats.go
- testhelpers_test.go
- testtaskrunner_test.go
- orchestrator.go
- orchestrator_test.go
- scheduling_test.go
- taskrunnerimpl.go
- cmdopts_generic.go
- cmdopts_windows.go
- conditions.go
- conditions_test.go
- conversion.go
- conversion_test.go
- opselector.go
- schedule.go
- schedule_test.go
- validation.go
- genheap.go
- genheap_test.go
- timepriorityqueue.go
- timepriorityqueue_test.go
- timequeue.go
- timequeue_test.go
- downloadhelper.go
- resticinstaller.go
- resticinstaller_unix.go
- resticinstaller_windows.go
- urls.go
- verify.go
- version.go
- version_test.go
- deadline.go
- logging.go
- net.go
- operations.go
- try.go
- error.go
- logging.go
- outputs.go
- outputs_test.go
- restic.go
- restic_json_test.go
- restic_test.go
- annotations.proto
- http.proto
- value.proto
- authentication.proto
- config.proto
- crypto.proto
- operations.proto
- restic.proto
- service.proto
- syncservice.proto
- buf.gen.yaml
- buf.yaml
- update.sh
- ramdisk-mount.sh
- ramdisk-unmount.sh
- run-fresh.sh
- run-in-dir.sh
- run-named.sh
- generate-installers.sh
- latest-restic-version.sh
- manage.sh
- update-restic-version.sh
- first_run_test.go
- installrestic.go
- testdata.go
- extensions.json
- favicon.png
- favicon.svg
- logo-black.svg
- logo.svg
- backrest.ts
- fixtures.ts
- ports.ts
- seed.ts
- sftpserver.ts
- add-plan-backup.spec.ts
- add-repo.spec.ts
- auth-login.spec.ts
- backup-progress.spec.ts
- cancel-backup.spec.ts
- error-paths.spec.ts
- first-run.spec.ts
- hooks.spec.ts
- plan-config.spec.ts
- rclone-repo.spec.ts
- restore.spec.ts
- run-command.spec.ts
- settings-edit.spec.ts
- sftp-repo.spec.ts
- smoke.spec.ts
- snapshot-lifecycle.spec.ts
- global-setup.ts
- README.md
- tsconfig.json
- annotations_pb.ts
- http_pb.ts
- value_pb.ts
- authentication_pb.ts
- config_pb.ts
- crypto_pb.ts
- operations_pb.ts
- restic_pb.ts
- service_pb.ts
- syncservice_pb.ts
- ar.json
- bn.json
- de.json
- en.json
- es.json
- fr.json
- hi.json
- id.json
- it.json
- ja.json
- ko.json
- pl.json
- pt.json
- ru.json
- zh.json
- .gitignore
- .meta.json
- project_id
- README.md
- settings.json
- translate-gemini.ts
- tabStream.test.ts
- tabStream.ts
- client.ts
- flowDisplayAggregator.ts
- logState.ts
- oplog.ts
- resourceStatus.tsx
- App.tsx
- AuthenticationBoundary.test.tsx
- main.tsx
- provider.tsx
- Alerts.tsx
- DynamicList.test.tsx
- DynamicList.tsx
- EnumSelector.tsx
- FormModal.test.tsx
- FormModal.tsx
- HeavyAccordion.tsx
- HooksFormList.test.tsx
- HooksFormList.tsx
- LogView.tsx
- ModalManager.test.tsx
- ModalManager.tsx
- NumberInput.tsx
- RetentionPolicyView.test.tsx
- RetentionPolicyView.tsx
- ScheduleFormItem.test.tsx
- ScheduleFormItem.tsx
- SectionCard.tsx
- SpinButton.test.tsx
- SpinButton.tsx
- StatusPill.tsx
- StickyPanel.tsx
- SyncStateIcon.tsx
- ToggleField.tsx
- TwoPaneModal.tsx
- URIAutocomplete.tsx
- ActivityBar.tsx
- MainContentArea.tsx
- PageTemplate.tsx
- accordion.tsx
- breadcrumb.tsx
- button.tsx
- checkbox.tsx
- close-button.tsx
- color-mode.tsx
- combobox.tsx
- data-list.tsx
- dialog.tsx
- drawer.tsx
- empty-state.tsx
- field.tsx
- input-group.tsx
- link.tsx
- menu.tsx
- pagination.tsx
- password-input.tsx
- progress-circle.tsx
- progress.tsx
- radio.tsx
- select.tsx
- splitter.tsx
- tabs.tsx
- toaster.tsx
- tooltip.tsx
- tree-view.tsx
- LoginModal.test.tsx
- LoginModal.tsx
- GettingStartedGuide.tsx
- HistoryStrip.tsx
- StatsPanel.tsx
- SummaryDashboard.tsx
- OperationIcon.tsx
- OperationListView.tsx
- OperationRow.tsx
- OperationTreeView.tsx
- RunCommandModal.tsx
- AddPlanModal.test.tsx
- AddPlanModal.tsx
- PlanView.test.tsx
- PlanView.tsx
- AddRepoModal.test.tsx
- AddRepoModal.tsx
- RepoView.tsx
- SelectorView.tsx
- SnapshotBrowser.tsx
- RemoteInstanceView.tsx
- SettingsModal.test.tsx
- SettingsModal.tsx
- browserUtil.ts
- cronUtil.test.ts
- cronUtil.ts
- formatting.test.ts
- formatting.ts
- userPreferences.ts
- util.test.ts
- util.ts
- buildcfg.ts
- configutil.test.ts
- configutil.ts
- peerStates.ts
- client.ts
- proto.ts
- render.tsx
- setup.tsx
- smoke.test.tsx
- .prettierrc
- constants.ts
- custom.d.ts
- index.sass
- .gitignore
- .prettierignore
- .prettierrc
- GEMINI.md
- index.html
- package.json
- playwright.config.ts
- pnpm-lock.yaml
- tsconfig.json
- vite.config.ts
- vitest.config.ts
- webui.go
- webui_test.go
- webuinix.go
- webuiwin.go
- .dockerignore
- .envrc
- .gitattributes
- .gitignore
- .goreleaser.yaml
- CHANGELOG.md
- Dockerfile.alpine
- Dockerfile.scratch
- flake.lock
- flake.nix
- go.mod
- go.sum
- install.sh
- LICENSE
- README.md
- shell.nix
- uninstall.sh
# 설치 가이드
git clone https://github.com/garethgeorge/backrest
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd backrest
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천- Homebrew macOS/Linux용 패키지 매니저입니다.
- APT (Debian/Ubuntu 계열) Debian/Ubuntu 계열 리눅스에 기본 내장된 패키지 매니저입니다.
curl -fsSL https://raw.githubusercontent.com/garethgeorge/backrest/main/install.sh | bash
공식 설치 스크립트를 다운로드해서 바로 실행합니다. 이 한 줄로 필요한 게 자동으로 설치됩니다.
brew tap garethgeorge/homebrew-backrest-tap
Homebrew에 이 프로젝트의 저장소(tap)를 등록합니다.
brew install backrest
Homebrew로 이미 빌드된 패키지를 바로 설치합니다. 소스 빌드가 필요 없습니다.
apt install -y protobuf-compiler
APT 패키지 저장소에서 바로 설치합니다 (Debian/Ubuntu 계열).
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Docker
쉬움- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker build -f Dockerfile.alpine -t backrest .
Dockerfile을 기반으로 실행 가능한 이미지를 빌드합니다.
docker run -p 8080:80 backrest
빌드된 이미지를 실제 컨테이너로 실행합니다.
4. Node.js
쉬움npm install -g @bufbuild/protoc-gen-es
npm 레지스트리에 배포된 패키지를 전역으로 설치합니다. 소스 클론이 필요 없습니다.
(cd webui && pnpm i && pnpm run build)
배포용으로 코드를 최적화해서 빌드 파일을 생성합니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
5. Go
보통go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
지정된 버전을 바로 다운로드해서 설치합니다. 레포를 직접 클론할 필요가 없습니다.
go install github.com/bufbuild/buf/cmd/buf@latest
지정된 버전을 바로 다운로드해서 설치합니다. 레포를 직접 클론할 필요가 없습니다.
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
지정된 버전을 바로 다운로드해서 설치합니다. 레포를 직접 클론할 필요가 없습니다.
go install connectrpc.com/connect/cmd/protoc-gen-connect-go@latest
지정된 버전을 바로 다운로드해서 설치합니다. 레포를 직접 클론할 필요가 없습니다.
(cd cmd/backrest && go build .)
Go 프로그램을 컴파일해 실행 파일을 만듭니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
