You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							347 lines
						
					
					
						
							10 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							347 lines
						
					
					
						
							10 KiB
						
					
					
				| # A sample TOML config file for SeaweedFS filer store | |
| # Used with "weed filer" or "weed server -filer" | |
| # Put this file to one of the location, with descending priority | |
| #    ./filer.toml | |
| #    $HOME/.seaweedfs/filer.toml | |
| #    /etc/seaweedfs/filer.toml | |
| 
 | |
| #################################################### | |
| # Customizable filer server options | |
| #################################################### | |
| [filer.options] | |
| # with http DELETE, by default the filer would check whether a folder is empty. | |
| # recursive_delete will delete all sub folders and files, similar to "rm -Rf" | |
| recursive_delete = false | |
| 
 | |
| #################################################### | |
| # The following are filer store options | |
| #################################################### | |
| 
 | |
| [leveldb2] | |
| # local on disk, mostly for simple single-machine setup, fairly scalable | |
| # faster than previous leveldb, recommended. | |
| enabled = true | |
| dir = "./filerldb2"                    # directory to store level db files | |
| 
 | |
| [leveldb3] | |
| # similar to leveldb2. | |
| # each bucket has its own meta store. | |
| enabled = false | |
| dir = "./filerldb3"                    # directory to store level db files | |
| 
 | |
| [rocksdb] | |
| # local on disk, similar to leveldb | |
| # since it is using a C wrapper, you need to install rocksdb and build it by yourself | |
| enabled = false | |
| dir = "./filerrdb"                    # directory to store rocksdb files | |
| 
 | |
| [sqlite] | |
| # local on disk, similar to leveldb | |
| enabled = false | |
| dbFile = "./filer.db"                # sqlite db file | |
| 
 | |
| [mysql]  # or memsql, tidb | |
| # CREATE TABLE IF NOT EXISTS filemeta ( | |
| #   dirhash     BIGINT               COMMENT 'first 64 bits of MD5 hash value of directory field', | |
| #   name        VARCHAR(1000) BINARY COMMENT 'directory or file name', | |
| #   directory   TEXT BINARY          COMMENT 'full path to parent directory', | |
| #   meta        LONGBLOB, | |
| #   PRIMARY KEY (dirhash, name) | |
| # ) DEFAULT CHARSET=utf8; | |
| 
 | |
| enabled = false | |
| hostname = "localhost" | |
| port = 3306 | |
| username = "root" | |
| password = "" | |
| database = ""              # create or use an existing database | |
| connection_max_idle = 2 | |
| connection_max_open = 100 | |
| connection_max_lifetime_seconds = 0 | |
| interpolateParams = false | |
| # if insert/upsert failing, you can disable upsert or update query syntax to match your RDBMS syntax: | |
| enableUpsert = true | |
| upsertQuery = """INSERT INTO `%s` (dirhash,name,directory,meta) VALUES(?,?,?,?) ON DUPLICATE KEY UPDATE meta = VALUES(meta)""" | |
| 
 | |
| [mysql2]  # or memsql, tidb | |
| enabled = false | |
| createTable = """ | |
|   CREATE TABLE IF NOT EXISTS `%s` ( | |
|     dirhash BIGINT, | |
|     name VARCHAR(1000) BINARY, | |
|     directory TEXT BINARY, | |
|     meta LONGBLOB, | |
|     PRIMARY KEY (dirhash, name) | |
|   ) DEFAULT CHARSET=utf8; | |
| """ | |
| hostname = "localhost" | |
| port = 3306 | |
| username = "root" | |
| password = "" | |
| database = ""              # create or use an existing database | |
| connection_max_idle = 2 | |
| connection_max_open = 100 | |
| connection_max_lifetime_seconds = 0 | |
| interpolateParams = false | |
| # if insert/upsert failing, you can disable upsert or update query syntax to match your RDBMS syntax: | |
| enableUpsert = true | |
| upsertQuery = """INSERT INTO `%s` (dirhash,name,directory,meta) VALUES(?,?,?,?) ON DUPLICATE KEY UPDATE meta = VALUES(meta)""" | |
| 
 | |
| [postgres] # or cockroachdb, YugabyteDB | |
| # CREATE TABLE IF NOT EXISTS filemeta ( | |
| #   dirhash     BIGINT, | |
| #   name        VARCHAR(65535), | |
| #   directory   VARCHAR(65535), | |
| #   meta        bytea, | |
| #   PRIMARY KEY (dirhash, name) | |
| # ); | |
| enabled = false | |
| hostname = "localhost" | |
| port = 5432 | |
| username = "postgres" | |
| password = "" | |
| database = "postgres"          # create or use an existing database | |
| schema = "" | |
| sslmode = "disable" | |
| connection_max_idle = 100 | |
| connection_max_open = 100 | |
| connection_max_lifetime_seconds = 0 | |
| # if insert/upsert failing, you can disable upsert or update query syntax to match your RDBMS syntax: | |
| enableUpsert = true | |
| upsertQuery = """INSERT INTO "%[1]s" (dirhash,name,directory,meta) VALUES($1,$2,$3,$4) ON CONFLICT (dirhash,name) DO UPDATE SET meta = EXCLUDED.meta WHERE "%[1]s".meta != EXCLUDED.meta""" | |
| 
 | |
| [postgres2] | |
| enabled = false | |
| createTable = """ | |
|   CREATE TABLE IF NOT EXISTS "%s" ( | |
|     dirhash   BIGINT, | |
|     name      VARCHAR(65535), | |
|     directory VARCHAR(65535), | |
|     meta      bytea, | |
|     PRIMARY KEY (dirhash, name) | |
|   ); | |
| """ | |
| hostname = "localhost" | |
| port = 5432 | |
| username = "postgres" | |
| password = "" | |
| database = "postgres"          # create or use an existing database | |
| schema = "" | |
| sslmode = "disable" | |
| connection_max_idle = 100 | |
| connection_max_open = 100 | |
| connection_max_lifetime_seconds = 0 | |
| # if insert/upsert failing, you can disable upsert or update query syntax to match your RDBMS syntax: | |
| enableUpsert = true | |
| upsertQuery = """INSERT INTO "%[1]s" (dirhash,name,directory,meta) VALUES($1,$2,$3,$4) ON CONFLICT (dirhash,name) DO UPDATE SET meta = EXCLUDED.meta WHERE "%[1]s".meta != EXCLUDED.meta""" | |
| 
 | |
| [cassandra] | |
| # CREATE TABLE filemeta ( | |
| #    directory varchar, | |
| #    name varchar, | |
| #    meta blob, | |
| #    PRIMARY KEY (directory, name) | |
| # ) WITH CLUSTERING ORDER BY (name ASC); | |
| enabled = false | |
| keyspace = "seaweedfs" | |
| hosts = [ | |
|     "localhost:9042", | |
| ] | |
| username = "" | |
| password = "" | |
| # This changes the data layout. Only add new directories. Removing/Updating will cause data loss. | |
| superLargeDirectories = [] | |
| # Name of the datacenter local to this filer, used as host selection fallback. | |
| localDC = "" | |
| # Gocql connection timeout, default: 600ms | |
| connection_timeout_millisecond = 600 | |
| 
 | |
| [hbase] | |
| enabled = false | |
| zkquorum = "" | |
| table = "seaweedfs" | |
| 
 | |
| [redis2] | |
| enabled = false | |
| address = "localhost:6379" | |
| password = "" | |
| database = 0 | |
| # This changes the data layout. Only add new directories. Removing/Updating will cause data loss. | |
| superLargeDirectories = [] | |
| 
 | |
| [redis2_sentinel] | |
| enabled = false | |
| addresses = ["172.22.12.7:26379","172.22.12.8:26379","172.22.12.9:26379"] | |
| masterName = "master" | |
| username = "" | |
| password = "" | |
| database = 0 | |
| 
 | |
| [redis_cluster2] | |
| enabled = false | |
| addresses = [ | |
|     "localhost:30001", | |
|     "localhost:30002", | |
|     "localhost:30003", | |
|     "localhost:30004", | |
|     "localhost:30005", | |
|     "localhost:30006", | |
| ] | |
| password = "" | |
| # allows reads from slave servers or the master, but all writes still go to the master | |
| readOnly = false | |
| # automatically use the closest Redis server for reads | |
| routeByLatency = false | |
| # This changes the data layout. Only add new directories. Removing/Updating will cause data loss. | |
| superLargeDirectories = [] | |
| 
 | |
| [redis_lua] | |
| enabled = false | |
| address = "localhost:6379" | |
| password = "" | |
| database = 0 | |
| # This changes the data layout. Only add new directories. Removing/Updating will cause data loss. | |
| superLargeDirectories = [] | |
| 
 | |
| [redis_lua_sentinel] | |
| enabled = false | |
| addresses = ["172.22.12.7:26379","172.22.12.8:26379","172.22.12.9:26379"] | |
| masterName = "master" | |
| username = "" | |
| password = "" | |
| database = 0 | |
| 
 | |
| [redis_lua_cluster] | |
| enabled = false | |
| addresses = [ | |
|     "localhost:30001", | |
|     "localhost:30002", | |
|     "localhost:30003", | |
|     "localhost:30004", | |
|     "localhost:30005", | |
|     "localhost:30006", | |
| ] | |
| password = "" | |
| # allows reads from slave servers or the master, but all writes still go to the master | |
| readOnly = false | |
| # automatically use the closest Redis server for reads | |
| routeByLatency = false | |
| # This changes the data layout. Only add new directories. Removing/Updating will cause data loss. | |
| superLargeDirectories = [] | |
| 
 | |
| [redis3] # beta | |
| enabled = false | |
| address = "localhost:6379" | |
| password = "" | |
| database = 0 | |
| 
 | |
| [redis3_sentinel] | |
| enabled = false | |
| addresses = ["172.22.12.7:26379","172.22.12.8:26379","172.22.12.9:26379"] | |
| masterName = "master" | |
| username = "" | |
| password = "" | |
| database = 0 | |
| 
 | |
| [redis_cluster3] # beta | |
| enabled = false | |
| addresses = [ | |
|     "localhost:30001", | |
|     "localhost:30002", | |
|     "localhost:30003", | |
|     "localhost:30004", | |
|     "localhost:30005", | |
|     "localhost:30006", | |
| ] | |
| password = "" | |
| # allows reads from slave servers or the master, but all writes still go to the master | |
| readOnly = false | |
| # automatically use the closest Redis server for reads | |
| routeByLatency = false | |
| 
 | |
| [etcd] | |
| enabled = false | |
| servers = "localhost:2379" | |
| timeout = "3s" | |
| 
 | |
| [mongodb] | |
| enabled = false | |
| uri = "mongodb://localhost:27017" | |
| option_pool_size = 0 | |
| database = "seaweedfs" | |
| 
 | |
| [elastic7] | |
| enabled = false | |
| servers = [ | |
|     "http://localhost1:9200", | |
|     "http://localhost2:9200", | |
|     "http://localhost3:9200", | |
| ] | |
| username = "" | |
| password = "" | |
| sniff_enabled = false | |
| healthcheck_enabled = false | |
| # increase the value is recommend, be sure the value in Elastic is greater or equal here | |
| index.max_result_window = 10000 | |
| 
 | |
| 
 | |
| [arangodb] # in development dont use it | |
| enabled = false | |
| db_name = "seaweedfs" | |
| servers=["http://localhost:8529"] # list of servers to connect to | |
| # only basic auth supported for now | |
| username="" | |
| password="" | |
| # skip tls cert validation | |
| insecure_skip_verify = true | |
| 
 | |
| [ydb] # https://ydb.tech/ | |
| enabled = false | |
| dsn = "grpc://localhost:2136?database=/local" | |
| prefix = "seaweedfs" | |
| useBucketPrefix = true # Fast Bucket Deletion | |
| poolSizeLimit = 50 | |
| dialTimeOut = 10 | |
| 
 | |
| # Authenticate produced with one of next environment variables: | |
| # YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS=<path/to/sa_key_file> — used service account key file by path | |
| # YDB_ANONYMOUS_CREDENTIALS="1" — used for authenticate with anonymous access. Anonymous access needs for connect to testing YDB installation | |
| # YDB_METADATA_CREDENTIALS="1" — used metadata service for authenticate to YDB from yandex cloud virtual machine or from yandex function | |
| # YDB_ACCESS_TOKEN_CREDENTIALS=<access_token> — used for authenticate to YDB with short-life access token. For example, access token may be IAM token | |
| 
 | |
| ########################## | |
| ########################## | |
| # To add path-specific filer store: | |
| # | |
| # 1. Add a name following the store type separated by a dot ".". E.g., cassandra.tmp | |
| # 2. Add a location configuraiton. E.g., location = "/tmp/" | |
| # 3. Copy and customize all other configurations. | |
| #     Make sure they are not the same if using the same store type! | |
| # 4. Set enabled to true | |
| # | |
| # The following is just using redis as an example | |
| ########################## | |
| [redis2.tmp] | |
| enabled = false | |
| location = "/tmp/" | |
| address = "localhost:6379" | |
| password = "" | |
| database = 1 | |
| 
 | |
| [tikv] | |
| enabled = false | |
| # If you have many pd address, use ',' split then: | |
| #   pdaddrs = "pdhost1:2379, pdhost2:2379, pdhost3:2379" | |
| pdaddrs = "localhost:2379" | |
| # Concurrency for TiKV delete range | |
| deleterange_concurrency = 1 | |
| # Enable 1PC | |
| enable_1pc = false | |
| # Set the CA certificate path | |
| ca_path="" | |
| # Set the certificate path | |
| cert_path="" | |
| # Set the private key path | |
| key_path="" | |
| # The name list used to verify the cn name | |
| verify_cn="" |