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
.