Configuration
ghz-web
can be configured using environment variables or a configuration file.
Environment Variables
GHZ_SERVER_PORT
- The port for the http server. Default is80
.GHZ_DATABASE_TYPE
- The SQL database dialect / type. Default issqlite3
.GHZ_DATABASE_CONNECTION
- The SQL database connection string. Default isdata/ghz.db
.GHZ_LOG_LEVEL
- The log level. One ofdebug
,info
,warn
, orerror
. Default isinfo
.GHZ_LOG_PATH
- By default the logs go tostdout
. This option can be used to set the log path for a log file.
Configuration File
A cofiguration file can be specified using -config
option. Configuration file can be in YAML, TOML or JSON format.
YAML
---
server:
port: 3000 # the port for the http server
database: # the database options
type: sqlite3
connection: data/ghz.db
log:
level: info
path: /tmp/ghz.log # the path to log file, otherwize stdout is used
TOML
[server]
port = 80 # the port for the http server
[database] # the database options
type = "sqlite3"
connection = "data/ghz.db"
[log]
level = "info" # log level
path = "/tmp/ghz.log" # the path to log file, otherwize stdout is used
JSON
{
"server": {
"port": 80
},
"database": {
"type": "sqlite3",
"connection": "data/ghz.db"
},
"log": {
"level": "info",
"path": "/tmp/ghz.log"
}
}
Database
Dialect | Connection |
---|---|
sqlite3 | path/to/database.db |
mysql | dbuser:dbpassword@/ghz |
postgres | host=dbhost user=dbuser dbname=ghz sslmode=disable password=dbpassword |
When using postgres without SSL then sslmode=disable
must be added to the connection string.
When using mysql with host then tcp(host)
must be added to the connection string like that dbuser:dbpassword@tcp(dbhost)/ghz
.