-
Notifications
You must be signed in to change notification settings - Fork 33
Configuring DVID
Before running DVID, you can specify the various ports, storage backends, email notification address and mail server in case of crashes, and other run-time options.
DVID configuration is specified in a TOML file. It's an easily readable configuration format that maps unambiguously to a hash table. There is an example configuration file that comes with DVID source code.
A filled-in example might look like this:
[store]
# Stores can be specified in three ways (default setting required):
# store.default = default storage engine if not otherwise specified
# store.metadata = configuration for metadata store
# store.datatype = storage engine to use for the given "datatype"
[store.default]
engine = "basholeveldb"
path = "/demo/dbs/basholeveldb"
[store.imagetile]
engine = "kvautobus"
path = "http://tem-dvid.int.janelia.org:9000"
[server]
httpAddress = ":6000"
rpcAddress = ":6001"
webClient = "/path/to/dvid-console"
# Who to send email in case of panic
[email]
notify = ["me@research.org"]
username = "me@research.org"
password = ""
server = "10.1.50.90"
port = 25
[logging]
logfile = "/path/to/dvid.log"
max_log_size = 500 # MB
max_log_age = 360 # days
The only required configuration is the evolving [store]
section. In particular, you must specify a default store via the [store.default]
setting and can optionally specify datatype-specific stores.
The [server]
section allows you to set the RPC and HTTP ports as well as the path to a web app that comes up when you point a web browser to the root HTTP address. The httpAddress
option allows for binding to unique IP addresses. This is crucial for hosting on cloud services such as AWS.
The webClient
property is a path to static website code for DVID administration, etc. We suggest you download the dvid console project and set the webClient
path to its location. The stock dvid console lets you browse data repos and provides nice graphical representations of the data versions.
If you've configured the [email]
section and there is a catchable panic, the DVID server will try to email an admin and continue on. Here's an example email you'll hopefully never receive but could be useful during debugging new features:
Subject: DVID panic report
Date: Friday, July 17, 2015 at 3:19:06 PM Eastern Daylight Time From: admin@foo.org
To: DVID admin
Panic detected on request c06u27.int.janelia.org/67bmYZ78V0-10888375: runtime error: index out of range
IP: 10.8.1.45:64608, URL: /api/node/ee7dc/annotations/keyrange/0
Stack trace:
goroutine 17099711 [running]: github.com/janelia-flyem/dvid/server.func·005()
/groups/flyem/home/katzw/work/go/src/github.com/janelia-flyem/dvid/server/web.go:399 +0xd6 github.com/janelia-flyem/dvid/datatype/keyvalue.(*Data).ServeHTTP(0xc2081dc648, 0xc2081a1760, 0x20, 0xc215091788, 0x7f2504847080, 0xc2082904b0, 0xc20bd41110)
/groups/flyem/home/katzw/work/go/src/github.com/janelia- flyem/dvid/datatype/keyvalue/keyvalue.go:430 +0x2143 github.com/janelia-flyem/dvid/server.func·009(0x7f2504847080, 0xc2082904b0, 0xc20bd41110)
/groups/flyem/home/katzw/work/go/src/github.com/janelia-flyem/dvid/server/web.go:536 +0x649 net/http.HandlerFunc.ServeHTTP(0xc2243fda00, 0x7f2504847080, 0xc2082904b0, 0xc20bd41110)
...
created by net/http.(*Server).Serve
/opt/buildem/src/golang-1.4.2/src/net/http/server.go:1751 +0x35e
Sincerely,
DVID at c06u27.int.janelia.org
Table of Contents
- DVID Overview
- Features
- Philosophy
- DVID Flexibility and Comparisons
- External Use of DVID
- Installation
- User's Guide
- Developer's Guide