Server configuration#
The Incus server can be configured through a set of key/value configuration options.
The key/value configuration is namespaced. The following options are available:
See How to configure the Incus server for instructions on how to set the configuration options.
Note
Options marked with a global scope are immediately applied to all cluster members.
Options with a local scope must be set on a per-member basis.
Core configuration#
The following server options control the core daemon configuration:
| Key: | core.bgp_address |
| Type: | string |
| Scope: | local |
| Key: | core.bgp_asn |
| Type: | string |
| Scope: | global |
| Key: | core.bgp_routerid |
| Type: | string |
| Scope: | local |
The identifier must be formatted as an IPv4 address.
| Key: | core.debug_address |
| Type: | string |
| Scope: | local |
| Key: | core.dns_address |
| Type: | string |
| Scope: | local |
| Key: | core.https_address |
| Type: | string |
| Scope: | local |
| Key: | core.https_allowed_credentials |
| Type: | bool |
| Scope: | global |
If enabled, the Access-Control-Allow-Credentials HTTP header value is set to true.
| Key: | core.https_allowed_headers |
| Type: | string |
| Scope: | global |
| Key: | core.https_allowed_methods |
| Type: | string |
| Scope: | global |
| Key: | core.https_allowed_origin |
| Type: | string |
| Scope: | global |
| Key: | core.https_trusted_proxy |
| Type: | string |
| Scope: | global |
Specify a comma-separated list of IP addresses of trusted servers that provide the client’s address through the proxy connection header.
| Key: | core.metrics_address |
| Type: | string |
| Scope: | local |
| Key: | core.metrics_authentication |
| Type: | bool |
| Default: |
|
| Scope: | global |
| Key: | core.proxy_http |
| Type: | string |
| Scope: | global |
If this option is not specified, the daemon falls back to the HTTP_PROXY environment variable (if set).
| Key: | core.proxy_https |
| Type: | string |
| Scope: | global |
If this option is not specified, the daemon falls back to the HTTPS_PROXY environment variable (if set).
| Key: | core.proxy_ignore_hosts |
| Type: | string |
| Scope: | global |
Specify this option in a similar format to NO_PROXY (for example, 1.2.3.4,1.2.3.5)
If this option is not specified, the daemon falls back to the NO_PROXY environment variable (if set).
| Key: | core.remote_token_expiry |
| Type: | string |
| Default: | no expiry |
| Scope: | global |
| Key: | core.shutdown_timeout |
| Type: | integer |
| Default: |
|
| Scope: | global |
Specify the number of minutes to wait for running operations to complete before the daemon shuts down.
| Key: | core.storage_buckets_address |
| Type: | string |
| Scope: | local |
| Key: | core.syslog_socket |
| Type: | bool |
| Scope: | local |
Set this option to true to enable the syslog unixgram socket to receive log messages from external processes.
ACME configuration#
The following server options control the ACME configuration:
| Key: | acme.agree_tos |
| Type: | bool |
| Default: |
|
| Scope: | global |
| Key: | acme.ca_url |
| Type: | string |
| Default: |
|
| Scope: | global |
OpenID Connect configuration#
The following server options configure external user authentication through OpenID Connect authentication:
| Key: | oidc.audience |
| Type: | string |
| Scope: | global |
This value is required by some providers.
OpenFGA configuration#
The following server options configure external user authorization through Open Fine-Grained Authorization (OpenFGA):
Cluster configuration#
The following server options control Clustering:
| Key: | cluster.healing_threshold |
| Type: | integer |
| Default: |
|
| Scope: | global |
Specify the number of seconds after which an offline cluster member is to be evacuated.
To disable evacuating offline members, set this option to 0.
| Key: | cluster.https_address |
| Type: | string |
| Scope: | local |
| Key: | cluster.images_minimal_replica |
| Type: | integer |
| Default: |
|
| Scope: | global |
Specify the minimal number of cluster members that keep a copy of a particular image.
Set this option to 1 for no replication, or to -1 to replicate images on all members.
| Key: | cluster.join_token_expiry |
| Type: | string |
| Default: |
|
| Scope: | global |
| Key: | cluster.max_standby |
| Type: | integer |
| Default: |
|
| Scope: | global |
Specify the maximum number of cluster members that are assigned the database stand-by role.
This must be a number between 0 and 5.
| Key: | cluster.max_voters |
| Type: | integer |
| Default: |
|
| Scope: | global |
Specify the maximum number of cluster members that are assigned the database voter role.
This must be an odd number >= 3.
Images configuration#
The following server options configure how to handle Images:
| Key: | images.auto_update_cached |
| Type: | bool |
| Default: |
|
| Scope: | global |
| Key: | images.auto_update_interval |
| Type: | integer |
| Default: |
|
| Scope: | global |
Specify the interval in hours.
To disable looking for updates to cached images, set this option to 0.
| Key: | images.compression_algorithm |
| Type: | string |
| Default: |
|
| Scope: | global |
Possible values are bzip2, gzip, lzma, xz, or none.
| Key: | images.default_architecture |
| Type: | string |
Loki configuration#
The following server options configure the external log aggregation system:
| Key: | loki.api.url |
| Type: | string |
| Scope: | global |
Specify the protocol, name or IP and port. For example https://loki.example.com:3100. Incus will automatically add the /loki/api/v1/push suffix so there’s no need to add it here.
| Key: | loki.auth.password |
| Type: | string |
| Scope: | global |
| Key: | loki.auth.username |
| Type: | string |
| Scope: | global |
| Key: | loki.labels |
| Type: | string |
| Scope: | global |
Specify a comma-separated list of values that should be used as labels for a Loki log entry.
| Key: | loki.loglevel |
| Type: | string |
| Default: |
|
| Scope: | global |
Miscellaneous options#
The following server options configure server-specific settings for Instances, OVN integration, Backups and Storage:
| Key: | backups.compression_algorithm |
| Type: | string |
| Default: |
|
| Scope: | global |
Possible values are bzip2, gzip, lzma, xz, or none.
| Key: | instances.nic.host_name |
| Type: | string |
| Default: |
|
| Scope: | global |
Possible values are random and mac.
If set to random, use the random host interface name as the host name.
If set to mac, generate a host name in the form inc<mac_address> (MAC without leading two digits).
| Key: | instances.placement.scriptlet |
| Type: | string |
| Scope: | global |
When using custom automatic instance placement logic, this option stores the scriptlet. See Instance placement scriptlet for more information.
| Key: | network.ovn.integration_bridge |
| Type: | string |
| Default: |
|
| Scope: | global |
| Key: | network.ovn.northbound_connection |
| Type: | string |
| Default: |
|
| Scope: | global |
| Key: | storage.backups_volume |
| Type: | string |
| Scope: | local |
Specify the volume using the syntax POOL/VOLUME.