MCPcopy
hub / github.com/kopia/kopia

github.com/kopia/kopia @v0.23.1 sqlite

repository ↗ · DeepWiki ↗ · release v0.23.1 ↗
7,834 symbols 40,424 edges 1,051 files 2,686 documented · 34%
README

Kopia

Kopia Build Status GoDoc Coverage StatusGo Report Card Contributor Covenant Docker Pulls Downloads Gurubase

n.

  1. copy, replica (Polish)
  2. lance, spear
  3. fast and secure backup tool

Kopia is a fast and secure open-source backup/restore tool that allows you to create encrypted snapshots of your data and save the snapshots to remote or cloud storage of your choice, to network-attached storage or server, or locally on your machine. Kopia does not 'image' your whole machine. Rather, Kopia allows you to backup/restore any and all files/directories that you deem are important or critical.

Kopia has both CLI (command-line interface) and GUI (graphical user interface) versions, making it the perfect tool for both advanced and regular users. You can read more about Kopia's unique features -- which include compression, deduplication, user-controlled end-to-end encryption, and error correction -- to get a better understanding of how Kopia works.

When ready, head to the installation page to download and install Kopia, and make sure to read the Getting Started Guide for a step-by-step walkthrough of how to use Kopia.

Pick the Cloud Storage Provider You Want

Kopia supports saving your encrypted and compressed snapshots to all of the following storage locations:

  • Amazon S3 and any cloud storage that is compatible with S3
  • Azure Blob Storage
  • Backblaze B2
  • Google Cloud Storage
  • Any remote server or cloud storage that supports WebDAV
  • Any remote server or cloud storage that supports SFTP
  • Some of the cloud storage options supported by Rclone
  • Requires you to download and setup Rclone in addition to Kopia, but after that Kopia manages/runs Rclone for you
  • Rclone support is experimental: not all the cloud storage products supported by Rclone have been tested to work with Kopia, and some may not work with Kopia; Kopia has been tested to work with Dropbox, OneDrive, and Google Drive through Rclone
  • Your local machine and any network-attached storage or server
  • Your own server by setting up a Kopia Repository Server

And Kopia uses data deduplication to save you money! Read the repositories help page for more information on supported storage locations.

With Kopia you are in full control of where to store your snapshots, that is, you pick the storage provider you want to use. You must provision and pay for the storage provider for whatever storage locations you want to use, and then tell Kopia what those storage locations are. You can even use multiple storage locations for different backup repositories if you want. Kopia also supports backing up multiple machines to the same storage location.

Kopia in Action

Using Kopia via command-line interface:

asciicast

Using Kopia via graphical user interface (note: the video is of an older version of Kopia and the interface is different in the current version of Kopia, but the main principles of the interface are the same):

Kopia UI Tutorial

Getting Started

See Kopia Documentation for more information. Also check out the users forum.

Licensing

Kopia is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Building Kopia

See Build Infrastructure for more information on building Kopia and working with the source code.

Contribution Guidelines

Kopia is open source. For more information see the Contribution Guidelines.

Reporting Security Issues

If you find a security issue you'd like to disclose privately, please contact security@kopia.io.

Netlify Status

Extension points exported contracts — how you extend this code

StorageFlags (Interface)
StorageFlags is implemented by cli storage providers which need to support a particular backend. This requires the commo [11 …
cli/storage_providers.go
ParamWriter (Interface)
ParamWriter must be implemented by all types that write a parameter ("key":value)to the JSON writer. [27 implementers]
internal/contentlog/contentlog_json_writer.go
Volume (Interface)
Volume defines disk/volume access API to blob storage. [10 implementers]
repo/blob/storage.go
Compressor (Interface)
Compressor implements compression and decompression of a byte slice. [7 implementers]
repo/compression/compressor.go
Summarizer (Interface)
Summarizer defines the methods for summarizing a maintenance statistics. [17 implementers]
repo/maintenancestats/builder.go
Entry (Interface)
Entry represents a filesystem entry, which can be Directory, File, or Symlink. [7 implementers]
fs/entry.go
Encryptor (Interface)
Encryptor performs encryption and decryption of contents of data. [5 implementers]
repo/encryption/encryption.go
ParametersProvider (Interface)
ParametersProvider provides epoch manager parameters. [4 implementers]
internal/epoch/epoch_manager.go

Core symbols most depended-on inside this repo

Equal
called by 1031
fs/utc_timestamp.go
RunAndExpectSuccess
called by 918
tests/testenv/cli_test_env.go
Errorf
called by 720
internal/testlogging/ctx.go
Context
called by 468
internal/testlogging/ctx.go
Helper
called by 408
internal/testlogging/ctx.go
Contains
called by 400
internal/bigmap/bigmap_set.go
Fatalf
called by 367
internal/testlogging/ctx.go
Run
called by 309
tests/robustness/multiclient_test/framework/framework.go

Shape

Method 3,626
Function 3,028
Struct 952
Interface 114
TypeAlias 59
FuncType 55

Languages

Go99%
TypeScript1%

Modules by API surface

internal/grpcapi/repository_server.pb.go332 symbols
repo/repository.go91 symbols
repo/content/content_manager_test.go79 symbols
cli/app.go76 symbols
internal/epoch/epoch_manager_test.go69 symbols
repo/grpc_repository_client.go61 symbols
internal/server/server.go57 symbols
internal/epoch/epoch_manager.go54 symbols
internal/contentlog/contentlog_json_writer.go52 symbols
snapshot/upload/upload_progress.go50 symbols
repo/content/content_manager.go50 symbols
repo/blob/storage.go48 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/authv0.20.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.3 · 1×
cloud.google.com/go/storagev1.62.3 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azcorev1.22.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azidentityv1.13.1 · 1×
github.com/Azure/azure-sdk-for-go/sdk/internalv1.12.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/storage/azblobv1.7.0 · 1×

For agents

$ claude mcp add kopia \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact