-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdefault_config.yml
More file actions
108 lines (97 loc) · 5.11 KB
/
default_config.yml
File metadata and controls
108 lines (97 loc) · 5.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
########################################################################################################################
# Default configuration file #
########################################################################################################################
# Path were to store the metadata database (will also generate index.db-shm and index.db-wal files).
database_file: ./index.db
# Path where to mount the filesystem, must already exist and be a directory.
mount_point: ./data
# Primary storage backend, reads/writes will be performed here, replicas will be write-only
# Values not set are inherited from the main configuration
primary:
# Name of the storage backend, will be used as a tag in metadata
name: 'primary'
# Storage backend, case-insensitive, can be either:
# - filesystem: store blobs/objects on the local path, see [blob_storage]
# - s3: store blobs/objects on an S3 compatible storage, see other S3 options
# - sqlar: store blobs/objects directly in the database, see https://sqlite.org/sqlar.html
# - rockdb: store in a RocksDB database at [blob_storage], see https://rocksdb.org/
storage_backend: filesystem
# Required if [storage_backend] is filesystem or [rockdb]
# Path where to store the blobs, must already exist and be a directory.
blob_storage: ./blob
# Required if [storage_backend] is S3.
# S3 bucket name
s3_bucket: my-bucket
# S3 region, ignored if [s3_endpoint_url] is not empty
s3_region: localhost
# S3 endpoint URL, for providers other than AWS, like https://min.io/
s3_endpoint_url: 'http://127.0.0.1:9000'
# S3 access key
s3_access_key: '********************'
# S3 secret key
s3_secret_key: '****************************************'
# If set, all blobs will be encrypted using AES-256-GCM. Each blob will have a unique encryption key,
# derived from this value using PBKDF2-HMAC with salt.
#
# The value can be:
# - A string containing the encryption key in plain text.
# - An object with a "path" field, specifying a file that contains the encryption key.
# - An object with an "ask" field set to true, prompting the user to enter the key interactively when the filesystem is mounted.
# - An object with an "env" field set to the name of an environment variable that contains the key.
encryption_key: ''
# Level of gzip/zstd/lzo compression, values from 0 to 9, where 0 is no compression and 1 (fastest) to 9 (slowest) are the compression levels
# Automatically disabled if [encryption_key] is set, not recommended for backends that already compress data, like RocksBD or S3
compression_level: 0
# Compression algorithm to use 'gzip', 'zstd' or 'lzo', if compression_level is 0 this option is ignored
compression_algorithm: 'zstd'
# Same settings as primary, but allows to specify multiple replicas
# Write operations will be performed on all replicas, but read operations will be performed on the primary only
# This can be useful to have copies of the data in different locations/backends
replicas: [ ]
# If set to true, the last access time of files will be tracked and stored in the database
# It is recommended to keep this disabled to improve performance, if you don't need this feature
update_access_time: false
# Keep file change history
# To slightly improve performance, you can disable this feature
store_file_change_history: true
# If set to true, any operation that would modify the database or the blobs will be rejected
readonly: false
# Options for the WebDAV server command
webdav:
# Server address, set to 0.0.0.0 to listen on all interfaces and allow remote connections
address: 127.0.0.1
# Server port
port: 8080
# Number of threads to handle requests
threads: 4
# Require authentication, if false, the username and password will be ignored
enable_auth: false
# Username for authentication
username: admin
# Password for authentication
#
# The value can be:
# - A string containing the encryption key in plain text.
# - An object with a "path" field, specifying a file that contains the encryption key.
# - An object with an "ask" field set to true, prompting the user to enter the key interactively when the filesystem is mounted.
# - An object with an "env" field set to the name of an environment variable that contains the key.
password: ''
# Options for sync-listen and sync-connect commands
# Note: when using sync-connect, the option readonly must be set to true
sync:
# Server address to connect or listen
address: 127.0.0.1
# Server port to connect or listen
port: 45684
# Sync only file metadata and ignore file contents, useful if both client and server share the same backend storage
metadata_only: false
### Default values for undefined fields in primary/replicas
blob_storage: ./blob
s3_bucket: my-bucket
s3_region: localhost
s3_endpoint_url: 'http://127.0.0.1:9000'
s3_access_key: '********************'
s3_secret_key: '****************************************'
encryption_key: ''
compression_level: 0
########################################################################################################################