Configuration
Configuration is loaded from ~/.config/haze/haze.toml.
The minimum required configuration needed to get started is just the
sources_root options.
The full list of supported options is:
sources_root
The local path of the Nextcloud sources. This options is required.
Type: string
app_directories
A list of additional app directory paths to look for apps into
Default []
Type: list of strings
work_dir
The location where haze keeps it’s temporary files and caches
Default: /tmp/haze
Type: string
worktree_dir
The location to store git worktrees when using instances with detached sources.
Default: <work_dir>/worktrees
Type: string
auto_setup
Options for automatically setting up the newly created Nextcloud instance.
Examples:
[auto_setup]
username = "foo"
password = "bar"
enable_apps = ["files_external"]
disable_apps = ["contacts"]
post_setup = [
"occ group:add test",
]
config = { "enforce_theme" = "dark" }
[auto_setup]
enabled = false
auto_setup.enabled
Whether to automatically setup Nextcloud inside a created instance.
Default: true
Type: boolean
auto_setup.username
The username to use for the admin account during auto setup.
Default: admin
Type: string
auto_setup.password
The password to use for the admin account during auto setup.
Default: admin
Type: string
auto_setup.enabled_apps
Extra apps to enable after auto setup
Default: []
Type: list of strings
auto_setup.disabled_apps
Apps to disabled after auto setup
Default: []
Type: list of strings
auto_setup.post_setup
Commands to execute after auto setup
Default: []
Type: list of strings
auto_setup.config
System configuration options to set before auto setup
Default: {}
Type: Object
volume
Additional files or directories to bind-mount into instances.
Any number of volume options can be configured
Examples:
[[volume]]
source = "/tmp/haze-shared"
target = "/shared"
create = true
[[volume]]
source = "/home/me/Downloads"
target = "/Downloads"
read_only = true
volume.source
The source path on the host
Type: string
volume.target
The target path inside the container
Type: string
volume.create
Create the source directory on the host if it doesn’t exist already.
Default: false
Type: boolean
volume.read_only
Whether to mount the file or directory as read only
Default: false
Type: boolean
preset
Configured presets that can be used when creating instances.
Any number of presets can be configured.
Example:
[[preset]]
name = "groupfolders"
apps = ["groupfolders"]
commands = [
"occ groupfolders:create gf",
"occ groupfolders:group 1 admin read write share delete"
]
preset.name
The name of the preset, this is used when creating instances to select the preset.
Type: string without whitespace
preset.apps
A list of apps to enable when the preset is used.
Default: []
Type: list of strings
preset.commands
A list of commands to run post-setup when the preset is used.
Default: []
Type: list of strings
proxy
Configuration for the haze proxy. Only required when using the proxy.
[proxy]
address = "haze.example.com"
listen = "/run/haze/haze.sock"
https = true
cert = "/path/to/haze.test.crt"
key = "/path/to/haze.test.key"
proxy.listen
The IP and port or Unix socket for the proxy to listen on.
Required when the proxy is enabled.
Type: string
Examples:
listen = "/run/haze/haze.sock"
listen = "127.0.0.1:8080"
proxy.address
The base domain the proxy is accessible on.
Required if the proxy is enabled.
Type: string
proxy.https
Whether to enable built-in HTTPS support for the proxy.
Default: false
Type: boolean
proxy.cert
The path of the PEM encoded certificate chain to use for HTTPS.
Required if HTTPS is enabled for the proxy.
Type: string.
proxy.cert
The path of the PEM encoded private key to use for HTTPS.
Required if HTTPS is enabled for the proxy.
Type: string.