dagra

command module
v0.0.0-...-3cb0c2f Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2023 License: GPL-3.0 Imports: 10 Imported by: 0

README

Dagra

What is Dagra?

Dagra aims to be a reasonably safe and simple way to store personal data ~forever.

It offers the following features: * Ability to detect (not repair :sadface:) data corruption * Easy backup (mirroring to a different instance) * Reasonably simple design: should be reasonably simple to somehow get the data out * Searching and thumbnailing functionality

Installation

Building dagra

Go >= 1.21 is required to build Dagra.

After you cloned the git repository, run

$ go build .

to build the dagra binary: This binary acts both as client and server.

Advanced

By default, dagra will use vips for fast image resizing and ffmpeg to thumbnail videos.

If you'd like to not use vips (and hence no cgo) or not shell out to ffmpeg, build dagra with the novips or/and noffmpeg build tags.

Running the server

Running the server instance is as simple as

$ ./dagra serve

But you probably want to pass in a few parameters:

-blobserver

Blobserver backend implementation to use. Valid choices are ondisk (the default) and s3

-blobdisk_path

Directory in which the ondisk storage backend stores its data, defaults to ./blobdata

-sqlite_metadata_path

Path to store dagras metadata, defaults to ./sqlite.metadata

-encryption

Which encryption to use to store blob data. Valid choices are none (the default) or chacha20. Note: This only affects blobs; metadata is never encrypted.

General
-listen

IP:Port to listen on.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
blobstore
chacha20
Package chacha20 provides a blobstore encryption wrapper using chacha20poly1305.
Package chacha20 provides a blobstore encryption wrapper using chacha20poly1305.
cache
cli
exiftime
Package exiftime tries to extract the most suitable exif timestamp.
Package exiftime tries to extract the most suitable exif timestamp.
storage
gensql
Package gensql provides SQL logic commonly shared between multiple implementations.
Package gensql provides SQL logic commonly shared between multiple implementations.

Jump to

Keyboard shortcuts

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