Skip to main content

Server Configuration Reference

Complete reference for Miren server configuration. Settings can be specified via config file, environment variables, or CLI flags.

Configuration Precedence

Settings are resolved in this order (highest priority first):

  1. CLI flags — e.g. --address :9443
  2. Environment variables — e.g. MIREN_SERVER_ADDRESS=:9443
  3. Config fileserver.toml
  4. Defaults

Config File

The server reads its config from the first file found:

  1. Path specified via --config
  2. /etc/miren/server.toml
  3. {data_path}/config/server.toml (default: /var/lib/miren/config/server.toml)

Example

mode = "standalone"

[server]
address = ":8443"
data_path = "/var/lib/miren"
network_backend = "vxlan"
http_request_timeout = 60

[tls]
standard_tls = true
acme_email = "admin@example.com"

[etcd]
start_embedded = true

[buildkit]
gc_keep_storage = "20GB"
gc_keep_duration = "14d"

Server Modes

Miren has two operating modes:

ModeDescription
standaloneAll components (etcd, containerd, buildkit, logs, metrics) run embedded within a single process. This is the default.
distributedComponents run as separate services. Experimental.

In standalone mode, embedded services start automatically unless explicitly disabled.

Top-Level Fields

FieldTypeDefaultEnv VarCLI Flag
modestringstandaloneMIREN_MODE--mode, -m
labsstring[][]MIREN_LABS--labs

[server] — Core Settings

FieldTypeDefaultDescriptionEnv VarCLI Flag
addressstring:8443Address to listen on (host:port)MIREN_SERVER_ADDRESS--address, -a
runner_addressstringlocalhost:8444Runner address (host:port)MIREN_SERVER_RUNNER_ADDRESS--runner-address
data_pathstring/var/lib/mirenRoot data directoryMIREN_SERVER_DATA_PATH--data-path, -d
runner_idstringmirenRunner identifierMIREN_SERVER_RUNNER_ID--runner-id, -r
release_pathstringPath to release directory containing binariesMIREN_SERVER_RELEASE_PATH--release-path
config_cluster_namestringlocalCluster name in client configMIREN_SERVER_CONFIG_CLUSTER_NAME--config-cluster-name, -C
skip_client_configboolfalseSkip writing client config to clientconfig.dMIREN_SERVER_SKIP_CLIENT_CONFIG--skip-client-config
http_request_timeoutint60HTTP request timeout in seconds (minimum: 1)MIREN_SERVER_HTTP_REQUEST_TIMEOUT--http-request-timeout
stop_sandboxes_on_shutdownboolfalseStop all sandboxes when server shuts down (useful in development)MIREN_SERVER_STOP_SANDBOXES_ON_SHUTDOWN--stop-sandboxes-on-shutdown
network_backendstringvxlanNetwork backend: vxlan or wireguardMIREN_SERVER_NETWORK_BACKEND--network-backend

[tls] — TLS Settings

Controls TLS certificates for the server and HTTP ingress. See TLS for setup guides.

FieldTypeDefaultDescriptionEnv VarCLI Flag
additional_namesstring[][]Extra DNS names for the server certificateMIREN_TLS_ADDITIONAL_NAMES--dns-names
additional_ipsstring[][]Extra IPs for the server certificateMIREN_TLS_ADDITIONAL_IPS--ips
standard_tlsbooltrueExpose HTTP ingress on standard TLS ports (443)MIREN_TLS_STANDARD_TLS--serve-tls
acme_dns_providerstringDNS provider for ACME DNS-01 challenges (e.g. cloudflare, route53)MIREN_TLS_ACME_DNS_PROVIDER--acme-dns-provider
acme_emailstringEmail for ACME account registrationMIREN_TLS_ACME_EMAIL--acme-email
self_signedboolfalseUse self-signed certificates (development only)MIREN_TLS_SELF_SIGNED--self-signed-tls

[etcd] — Etcd Settings

Miren uses etcd as its entity store. In standalone mode, an embedded etcd server starts automatically.

FieldTypeDefaultDescriptionEnv VarCLI Flag
endpointsstring[][]Etcd endpoints (auto-configured when embedded)MIREN_ETCD_ENDPOINTS--etcd, -e
prefixstring/mirenKey prefix in etcdMIREN_ETCD_PREFIX--etcd-prefix, -p
start_embeddedbooltrue*Start embedded etcd serverMIREN_ETCD_START_EMBEDDED--start-etcd
client_portint12379Embedded etcd client portMIREN_ETCD_CLIENT_PORT--etcd-client-port
peer_portint12380Embedded etcd peer portMIREN_ETCD_PEER_PORT--etcd-peer-port
http_client_portint12381Embedded etcd HTTP client portMIREN_ETCD_HTTP_CLIENT_PORT--etcd-http-client-port

* Defaults to true in standalone mode only.

[containerd] — Containerd Settings

FieldTypeDefaultDescriptionEnv VarCLI Flag
start_embeddedbooltrue*Start embedded containerd daemonMIREN_CONTAINERD_START_EMBEDDED--start-containerd
binary_pathstringcontainerdPath to containerd binaryMIREN_CONTAINERD_BINARY_PATH--containerd-binary
socket_pathstringPath to containerd socketMIREN_CONTAINERD_SOCKET_PATH--containerd-socket

* Defaults to true in standalone mode only.

[buildkit] — BuildKit Settings

Controls the BuildKit daemon used for building container images.

FieldTypeDefaultDescriptionEnv VarCLI Flag
start_embeddedbooltrue*Start embedded BuildKit daemonMIREN_BUILDKIT_START_EMBEDDED--start-buildkit
socket_pathstringPath to external BuildKit socket (distributed mode)MIREN_BUILDKIT_SOCKET_PATH--buildkit-socket
socket_dirstringDirectory for embedded BuildKit socketMIREN_BUILDKIT_SOCKET_DIR--buildkit-socket-dir
gc_keep_storagestring10GBMaximum BuildKit layer cache sizeMIREN_BUILDKIT_GC_KEEP_STORAGE--buildkit-gc-storage
gc_keep_durationstring7dHow long to keep cache entriesMIREN_BUILDKIT_GC_KEEP_DURATION--buildkit-gc-duration

* Defaults to true in standalone mode only.

[victorialogs] — Log Storage Settings

Controls the embedded VictoriaLogs instance used for application log storage.

FieldTypeDefaultDescriptionEnv VarCLI Flag
start_embeddedbooltrue*Start embedded VictoriaLogs serverMIREN_VICTORIALOGS_START_EMBEDDED--start-victorialogs
http_portint9428HTTP port in embedded modeMIREN_VICTORIALOGS_HTTP_PORT--victorialogs-http-port
retention_periodstring30dRetention period (e.g. 30d, 2w, 1y)MIREN_VICTORIALOGS_RETENTION_PERIOD--victorialogs-retention
addressstringvictorialogs:9428Address when not using embeddedMIREN_VICTORIALOGS_ADDRESS--victorialogs-addr

* Defaults to true in standalone mode only.

[victoriametrics] — Metrics Storage Settings

Controls the embedded VictoriaMetrics instance used for application metrics.

FieldTypeDefaultDescriptionEnv VarCLI Flag
start_embeddedbooltrue*Start embedded VictoriaMetrics serverMIREN_VICTORIAMETRICS_START_EMBEDDED--start-victoriametrics
http_portint8428HTTP port in embedded modeMIREN_VICTORIAMETRICS_HTTP_PORT--victoriametrics-http-port
retention_periodstring1Retention period in monthsMIREN_VICTORIAMETRICS_RETENTION_PERIOD--victoriametrics-retention
addressstringvictoriametrics:8428Address when not using embeddedMIREN_VICTORIAMETRICS_ADDRESS--victoriametrics-addr

* Defaults to true in standalone mode only.