varasto

module
v0.0.0-...-df9e1a0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2024 License: Apache-2.0

README

⬆️ For table of contents, click the above icon

Build status

All your files in one simple, replicated, encrypted place - with built-in backups and configurable ransomware protection.

Vision

Varasto vision

Video & screenshot introduction

Video:

Varasto introduction thumbnail

See screenshots to get a better picture.

Website & documentation

We have wonderful documentation on our website.

Features

NOTE: Our documentation has more details & links in this table.

Details
Supported OSes Almost everything: PCs, mobile devices (Android, iOS), Raspberry Pis etc.
Data privacy All data is encrypted - each collection with a separate key so compromise of one collection does not compromise other data. Take back ownership of your data.
Data durability Transparently replicates your data to multiple disks / off-site storage.
Data integrity SHA-256 hashes verified on file write/read - detects bit rot immediately. We also have scheduled scrubbing to detect errors in the background before they affect you.
Data sensitivity You can mark different collections with different sensitivity levels and decide on login which sensitivity level content do you want to show.
Backup all your devices' data Varasto's architecture is ideal for backing up all your PCs, mobile devices etc.
Supported storage methods Local disks or cloud services (AWS S3, Google Drive), all in encrypted form so you don't have to trust the cloud ("zero trust" model) or have data leaks if local disks get stolen.
Data access methods 1) Clone collection to your computer 2) Open/stream files from web UI 3) Via network folders 4) Linux FUSE interface
Integrated metadata backups Use optional built-in backup to automatically upload encrypted backup of your metadata DB to AWS S3. If you don't like it, there's interface for external backup tools as well.
Transparent compression Only well-compressible files will be automatically compressed
Metadata support & tagging Can use metadata sources for automatically fetching movie/TV series info, poster images etc. Can also add tags to collections.
All files in one place Never again forget on which disk a particular file was stored - it's all in one place even if you have 100 disks! Varasto is dogfooded with ~50 TB of data without any slowdowns.
Thumbnails for photos Automatic thumbnailing of photos/pictures
Health monitoring Get warnings or alerts if there is anything wrong with your volumes, data or Varasto.
Per-collection durability To save money, we support storing important files with higher redundancy than less important files
Transactional File or group of files are successfully committed or none at all. Practically no other filesystem does this
Ransomware protection Run Varasto on a separate security-hardened device/NAS to protect from ransomware, or configure replication to S3 ransomware-protected bucket
Integrated SMART monitoring Detect disk failures early

Directories

Path Synopsis
cmd
sto
pkg
blobstore
Interface for writing blob store adapters to Varasto
Interface for writing blob store adapters to Varasto
blobstore/googledriveblobstore
Writes your blobs to Google Drive
Writes your blobs to Google Drive
blobstore/localfsblobstore
Stores your blobs on local FS-accessible paths
Stores your blobs on local FS-accessible paths
blobstore/s3blobstore
Writes your blobs to AWS S3
Writes your blobs to AWS S3
blorm
"Bolt Light ORM", doesn't do much else than persist structs into Bolt..
"Bolt Light ORM", doesn't do much else than persist structs into Bolt..
byteshuman
Formats byte amounts into human readable format
Formats byte amounts into human readable format
childprocesscontroller
Represents a child process whose state we want to control (start, stop, keep alive after crashes),
Represents a child process whose state we want to control (start, stop, keep alive after crashes),
frontend
Definitions (like UI routes) for Varasto's frontend
Definitions (like UI routes) for Varasto's frontend
fssnapshot
Cross-platform filesystem snapshotting library
Cross-platform filesystem snapshotting library
gokitbp
`gokit` backports.
`gokit` backports.
igdbapi
IGDB (Internet Game Database) API
IGDB (Internet Game Database) API
logtee
Plumbing for teeing/tailing log messages.
Plumbing for teeing/tailing log messages.
restartcontroller
Wrapper for running a restartable fn.
Wrapper for running a restartable fn.
seasonepisodedetector
Extracts season & episode numbers for TV show filenames
Extracts season & episode numbers for TV show filenames
smart
Access SMART data of disks
Access SMART data of disks
sslca
Managing a CA and signing server certs.
Managing a CA and signing server certs.
stateresolver
Computes the state of collection at an exact revision.
Computes the state of collection at an exact revision.
stoclient
Client for accessing Varasto server
Client for accessing Varasto server
stofuse
FUSE adapter for interfacing with Varasto from filesystem
FUSE adapter for interfacing with Varasto from filesystem
stofuse/stofuseclient
Client for FUSE server's API
Client for FUSE server's API
stofuse/stofuseentrypoint
This entrypoint is in own package, so we don't need to sprinkle conditional compilation all around the base "stofuse" package because it doesn't compile on Windows
This entrypoint is in own package, so we don't need to sprinkle conditional compilation all around the base "stofuse" package because it doesn't compile on Windows
stomvu
"Move utils" - logic for moving files to hierarchies sensible for TV shows, photo albums etc.
"Move utils" - logic for moving files to hierarchies sensible for TV shows, photo albums etc.
stoserver
The server component main package for Varasto
The server component main package for Varasto
stoserver/stodb
Encapsulates access to the metadata database
Encapsulates access to the metadata database
stoserver/stodbimportexport
logic for importing/exporting the metadata database into a file
logic for importing/exporting the metadata database into a file
stoserver/stodiskaccess
diskaccess ties together DB metadata read/write in addition to writing to disk
diskaccess ties together DB metadata read/write in addition to writing to disk
stoserver/stohealth
Health checks for Varasto server
Health checks for Varasto server
stoserver/stointegrityverifier
Responsible for integrity of your data by periodically scanning your volumes to detect bit rot and hardware failures.
Responsible for integrity of your data by periodically scanning your volumes to detect bit rot and hardware failures.
stoserver/storeplication
Controls replication of data between volumes
Controls replication of data between volumes
themoviedbapi
themoviedb.org ("TMDb") REST API client
themoviedb.org ("TMDb") REST API client
tui
Utils for text-based UIs
Utils for text-based UIs

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL