Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.