Skip to main content

create

8BitSafe-cli [common options] repo create [options] [REPOSITORY]
positional argumentsdescription
REPOSITORYrepository to create
optional argumentsdescriptiondefaultallowed
--e, --encryption <algo>Data encryption algoaes256-gcmaes256-gcm, chacha20-poly1305
--idhash <algo>Keyed blockID hash algoblake2b-256sha512-256, blake2b-256
--pkdf <algo>PBKDF algoargon2pbkdf2, argon2
--pkdf-time <ms>Tune the PBKDF to run for approximately N milliseconds192≥ 96 (integer)

Flat store only:

optional argumentsdescriptiondefaultallowed
--store-max-file-size <sizeString>FlatStore max file size256MiBsizeString

Remote store only:

optional argumentsdescriptiondefaultallowed
--r-key-mode <mode>Remote key modeuseruser, vault, vault-user
--r-new-deviceForce generate new remote deviceID--
--r-device-name <string>Custom device namecomputer/host name

Description

This command initializes an empty repository.
A repository is a filesystem directory containing the backup data for zero or more archives.

Encryption

AES-GCM is used by default, see here for performance details on the supported algorithms.

BlockID Hash

Blake2b-256 is used by default, see here for performance details on the supported algorithms.

Passphrase

info

Minimum length is 12 characters, maximum 256

Make sure you use a good passphrase. Not too short, not too simple.

Bad passphrases

lostStone2
cat-meows-twice
j$%2ZLsg (complex but short)

Good passphrases

geiger-unsure-epilogue-payee-seizing-probe-ventricle-coffee-clothing-audacious
S9xQFEsn4Ym6wiRCydpDBjz4KbcxdjkQ4QN4LMs2

High ascii characters are not allowed to prevent issues based on passphrase input translation on different systems. Internally the passphrase is treated as utf-8.

Prefer a long passphrase over a short complex passphrase as typically the longer passphrase is much harder to brute force.

You can change the passphrase at a later date see change-passphrase.

PBKDF

You can select either pbkdf2 or argon2(Argon2id) for the passphrase key derivation function.

These are used to derive an encryption key used to encrypt/decrypt the repo file see here for more details.

PBKDF time

The client will automatically tune the PBKDF to take approximately this amount of time to complete on your hardware. See here for more details.

Store max file size

Data files are split based on this size.

We suggest you don't make this value lower than he default and no bigger than 1GB unless you understand the implications.

This option takes a human size.

Examples

info

Create a repo in /mnt/backups/repo (the folder will be created if missing)

8BitSafe-cli repo create /mnt/backups/repo

Loading new repo passphrase from BS_PASSPHRASE

export BS_PASSPHRASE=xxxxxxxxxxxx
8BitSafe-cli repo create /mnt/backups/repo

With options

8BitSafe-cli repo create --idhash sha512-256 --pkdf pbkdf2 --pkdf-time 256 /mnt/backups/repo

Using only FIPS-140 algorithms

8BitSafe-cli repo create --idhash sha512-256 -e aes256-gcm --pkdf pbkdf2 /mnt/backups/repo