{"id":13522350,"url":"https://github.com/knoxite/knoxite","last_synced_at":"2026-01-12T00:17:09.223Z","repository":{"id":45131731,"uuid":"64353454","full_name":"knoxite/knoxite","owner":"knoxite","description":"A data storage \u0026 backup system","archived":false,"fork":false,"pushed_at":"2023-08-29T11:10:39.000Z","size":856,"stargazers_count":286,"open_issues_count":49,"forks_count":27,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-11-02T06:32:01.317Z","etag":null,"topics":["backup","data-storage","hacktoberfest","restore","snapshot","volumes"],"latest_commit_sha":null,"homepage":"https://knoxite.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knoxite.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-07-28T01:21:57.000Z","updated_at":"2024-10-26T14:20:08.000Z","dependencies_parsed_at":"2024-01-13T21:57:33.820Z","dependency_job_id":null,"html_url":"https://github.com/knoxite/knoxite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knoxite%2Fknoxite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knoxite%2Fknoxite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knoxite%2Fknoxite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knoxite%2Fknoxite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knoxite","download_url":"https://codeload.github.com/knoxite/knoxite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246552382,"owners_count":20795810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","data-storage","hacktoberfest","restore","snapshot","volumes"],"created_at":"2024-08-01T06:00:45.951Z","updated_at":"2026-01-12T00:17:09.188Z","avatar_url":"https://github.com/knoxite.png","language":"Go","funding_links":[],"categories":["Backup","Go","A list of FOSS backup software","Sync-Tools"],"sub_categories":[],"readme":"# ![knoxite](/assets/knoxite-logo.svg)\n\n[![Build Status](https://github.com/knoxite/knoxite/workflows/build/badge.svg)](https://github.com/knoxite/knoxite/actions)\n[![Coverage Status](https://coveralls.io/repos/github/knoxite/knoxite/badge.svg?branch=master)](https://coveralls.io/github/knoxite/knoxite?branch=master)\n[![Go ReportCard](https://goreportcard.com/badge/knoxite/knoxite)](https://goreportcard.com/report/knoxite/knoxite)\n[![GoDoc](https://godoc.org/github.com/golang/gddo?status.svg)](https://pkg.go.dev/github.com/knoxite/knoxite?tab=doc)\n\nknoxite is a secure data storage \u0026 backup system.\n\nJoin the discussion on IRC in #knoxite (on irc.libera.chat) or our [Gitter chat room](https://gitter.im/knoxite/chat)!\n\n### :lock: It's secure\nknoxite uses AES-encryption to safely store your data.\n### :muscle: It's flexible\nYou can always extend your storage size or move your stored data to another machine.\n### :rocket: It's efficient\nknoxite cleverly de-duplicates your data before storing it and supports multiple compression algorithms.\n### :link: It's connected\nYou can use multiple storage backends, even parallely: local disks, Dropbox, Amazon S3 \u0026 [others](https://knoxite.com/docs/storage-backends/).\n### :heart: It's OpenSource\nknoxite is free software. Contribute and spread the word!\n\n## Installation\n\nMake sure you have a working Go environment. Follow the [Go install instructions](https://golang.org/doc/install.html).\n\nTo install knoxite, simply run:\n\n    git clone https://github.com/knoxite/knoxite.git\n    cd knoxite\n    go build ./cmd/knoxite/\n\nOr use your favourite package manager:\n\n    # Arch Linux (btw)\n    yay -S knoxite-git\n\nRun `knoxite --help` to see a full list of options.\n\n## Getting started\n\n### Initialize a repository\nFirst of all we need to initialize an empty directory (in this case /tmp/knoxite) as a repository:\n\n```\n$ knoxite -r /tmp/knoxite repo init\nEnter password:\nCreated new repository at /tmp/knoxite\n```\n\nknoxite encrypts all the data in the repository with the supplied password. Be\nwarned: if you lose this password, you won't be able to access any of your data.\n\n### Initialize a volume\nEach repository can contain several volumes, which store our data organized in snapshots. So let's create one:\n\n```\n$ knoxite -r /tmp/knoxite volume init \"Backups\" -d \"My system backups\"\nVolume 66e03034 (Name: Backups, Description: My system backups) created\n```\n\n### List all volumes\nNow you can get a list of all volumes stored in this repository:\n\n```\n$ knoxite -r /tmp/knoxite volume list\nID        Name                              Description\n----------------------------------------------------------------------------------------------\n66e03034  Backups                           My system backups\n```\n\n### Storing data in a volume\nRun the following command to create a new snapshot and store your home directory in the newly created volume:\n\n```\n$ knoxite -r /tmp/knoxite store [volume ID] $HOME -d \"Backup of all my data\"\ndocument.txt          5.69 MiB / 5.69 MiB [#########################################] 100.00%\nother.txt             4.17 MiB / 4.17 MiB [#########################################] 100.00%\n...\nSnapshot cebc1213 created: 9 files, 8 dirs, 0 symlinks, 0 errors, 1.23 GiB Original Size, 1.23 GiB Storage Size\n```\n\nWhen errors occur while storing individual data-chunks knoxite still tries to\ncomplete the store operation for the remaining chunks. You can toggle this\nbehaviour to immediately exit on the first erroroneus data-chunk by setting the\n`--pedantic` command line flag.\n\n### List all snapshots\nNow you can get an overview of all snapshots stored in this volume:\n\n```\n$ knoxite -r /tmp/knoxite snapshot list [volume ID]\nID        Date                 Original Size  Storage Size  Description\n----------------------------------------------------------------------------------------------\ncebc1213  2016-07-29 02:27:15       1.23 GiB      1.23 GiB  Backup of all my data\n----------------------------------------------------------------------------------------------\n                                    1.23 GiB      1.23 GiB\n```\n\n### Show the content of a snapshot\nRunning the following command lists the entire content of a snapshot:\n\n```\n$ knoxite -r /tmp/knoxite ls [snapshot ID]\nPerms       User   Group          Size  ModTime              Name\n----------------------------------------------------------------------------------------------\n-rw-r--r--  user   group      5.69 MiB  2016-07-29 02:06:04  document.txt\n-rw-r--r--  user   group      4.17 MiB  2016-07-29 02:05:22  other.txt\n...\n```\n\n### Show the content of a snapshotted file\nWith the following command you can also print out the files content to stdout:\n```\n$ knoxite -r /tmp/knoxite cat [snapshot ID] document.txt\nThis is the sample text stored in document.txt\n```\n\n### Restoring a snapshot\nTo restore the latest snapshot to /tmp/myhome, run:\n\n```\n$ knoxite -r /tmp/knoxite restore [snapshot ID] /tmp/myhome\ndocument.txt          5.69 MiB / 5.69 MiB [#########################################] 100.00%\nother.txt             4.17 MiB / 4.17 MiB [#########################################] 100.00%\n...\nRestore done: 9 files, 8 dirs, 0 symlinks, 0 errors, 1.23 GiB Original Size, 1.23 GiB Storage Size\n```\n\n### Cloning a snapshot\nAdds target file or directory to an existing snapshot:\n\n```\n$ knoxite -r /tmp/knoxite clone [snapshot ID] $HOME\ndocument.txt          5.89 MiB / 5.89 MiB [#########################################] 100.00%\nother.txt             5.10 MiB / 5.10 MiB [#########################################] 100.00%\n...\nSnapshot aefc4591 created: 9 files, 8 dirs, 0 symlinks, 0 errors, 1.34 GiB Original Size, 1.34 GiB Storage Size\n```\n\n### Mounting a snapshot\nYou can even mount a snapshot (currently read-only, read-write is work-in-progress):\n\n```\n$ knoxite -r /tmp/knoxite mount [snapshot ID] /mnt\n```\n\n### Backup. No more excuses.\n\n## Configuration System\nKnoxite comes bundled with a configuration system. You can declare shorthands\nfor your repositories and provide default values for settings like encryption,\ncompression or excludes. For more information refer to the documentation on our\n[website](https://knoxite.com/docs/configuration-system/) or take a look into\nthe `knoxite config` command.\n\n## Optional environment variables\nOptionally you can set the `KNOXITE_REPOSITORY` and `KNOXITE_PASSWORD` environment\nvariables to provide default settings for when no options have been passed to `knoxite`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknoxite%2Fknoxite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknoxite%2Fknoxite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknoxite%2Fknoxite/lists"}