--- title: Veilid Server Configuration keywords: - config - veilid-server status: Draft --- # Veilid Server Configuration ## Configuration File `veilid-server` may be run using configuration from both command-line arguments and the `veilid-server.conf` file. ## Global Directives | Directive | Description | |-------------------------------|---------------------------------------------------| | [daemon](#daemon) | Run `veilid-server` in the background | | [client\_api](#client_api) || | [auto\_attach](#auto_attach) || | [logging](#logging) || | [testing](#testing) || | [core](#core) || ### daemon ```yaml daemon: enabled: false ``` ### client_api ```yaml client_api: enabled: true listen_address: 'localhost:5959' ``` | Parameter | Description | |-------------------------------------|-------------| | [enabled](#enabled) || | [listen\_address](#listen_address) || #### enabled **TODO** #### listen\_address **TODO** ### auto\_attach ```yaml auto_attach: true ``` ### logging ```yaml logging: system: enabled: false level: 'info' terminal: enabled: true level: 'info' file: enabled: false path: '' append: true level: 'info' api: enabled: true level: 'info' otlp: enabled: false level: 'trace' grpc_endpoint: 'localhost:4317' ``` ### testing ```yaml testing: subnode_index: 0 ``` ### core ```yaml core: protected_store: allow_insecure_fallback: true always_use_insecure_storage: true insecure_fallback_directory: '%INSECURE_FALLBACK_DIRECTORY%' delete: false table_store: directory: '%TABLE_STORE_DIRECTORY%' delete: false block_store: directory: '%BLOCK_STORE_DIRECTORY%' delete: false network: connection_initial_timeout_ms: 2000 connection_inactivity_timeout_ms: 60000 max_connections_per_ip4: 32 max_connections_per_ip6_prefix: 32 max_connections_per_ip6_prefix_size: 56 max_connection_frequency_per_min: 128 client_whitelist_timeout_ms: 300000 reverse_connection_receipt_time_ms: 5000 hole_punch_receipt_time_ms: 5000 node_id: '' node_id_secret: '' bootstrap: ['bootstrap.dev.veilid.net'] bootstrap_nodes: [] routing_table: limit_over_attached: 64 limit_fully_attached: 32 limit_attached_strong: 16 limit_attached_good: 8 limit_attached_weak: 4 rpc: concurrency: 0 queue_size: 1024 max_timestamp_behind_ms: 10000 max_timestamp_ahead_ms: 10000 timeout_ms: 10000 max_route_hop_count: 7 dht: resolve_node_timeout: resolve_node_count: 20 resolve_node_fanout: 3 max_find_node_count: 20 get_value_timeout: get_value_count: 20 get_value_fanout: 3 set_value_timeout: set_value_count: 20 set_value_fanout: 5 min_peer_count: 20 min_peer_refresh_time_ms: 2000 validate_dial_info_receipt_time_ms: 2000 upnp: true natpmp: false detect_address_changes: true enable_local_peer_scope: false restricted_nat_retries: 0 tls: certificate_path: '%CERTIFICATE_PATH%' private_key_path: '%PRIVATE_KEY_PATH%' connection_initial_timeout_ms: 2000 application: https: enabled: false listen_address: ':5150' path: 'app' # url: 'https://localhost:5150' http: enabled: false listen_address: ':5150' path: 'app' # url: 'http://localhost:5150' protocol: udp: enabled: true socket_pool_size: 0 listen_address: ':5150' # public_address: '' tcp: connect: true listen: true max_connections: 32 listen_address: ':5150' #'public_address: '' ws: connect: true listen: true max_connections: 16 listen_address: ':5150' path: 'ws' # url: 'ws://localhost:5150/ws' wss: connect: true listen: false max_connections: 16 listen_address: ':5150' path: 'ws' # url: '' ```