Additional Configuration
Understand skyportd configuration files, environment overrides, and TLS behavior.
skyportd uses TOML-based configuration files.
File layout
Section titled “File layout”A common layout is:
/etc/skyportd/├── config/│ └── local.toml└── skyportd.dbIn normal usage, you do not need to manually create and fill out a config file before starting the daemon.
On first boot, skyportd asks for the panel URL and configuration token, then writes config/local.toml for you.
local.toml
Section titled “local.toml”local.toml is the main daemon config file. It is written and updated by skyportd during enrollment and normal operation.
Most users should treat this file as daemon-managed state, not something they need to hand-edit often.
Important sections:
[daemon]
Section titled “[daemon]”name— display name for the daemon processuuid— bootstrap UUID, later replaced with the panel-issued UUIDtick_interval— heartbeat-style internal tick intervalshutdown_timeout— graceful shutdown timeout
[panel]
Section titled “[panel]”This section stores the panel URL and the credentials skyportd uses after enrollment.
[logging]
Section titled “[logging]”level— log level such asinfoordebugformat—prettyorjson
[runtime]
Section titled “[runtime]”worker_threads— number of runtime worker threads;0lets Tokio choose
[node]
Section titled “[node]”This section contains the node settings the daemon should use, including hostname, ports, SSL mode, and optional TLS certificate paths.
Environment variable overrides
Section titled “Environment variable overrides”skyportd also supports environment-variable based overrides using the prefix SKYPORT_DAEMON.
Examples:
export SKYPORT_DAEMON__PANEL__URL=https://panel.example.comexport SKYPORT_DAEMON__PANEL__CONFIGURATION_TOKEN=your-token-hereTLS behavior
Section titled “TLS behavior”When use_ssl = true, the daemon expects certificate paths.
It first checks the default Let’s Encrypt layout for the node FQDN:
/etc/letsencrypt/live/<fqdn>/fullchain.pem/etc/letsencrypt/live/<fqdn>/privkey.pemIf those files are missing, the daemon asks for the paths interactively and stores them in config/local.toml.
Local state database
Section titled “Local state database”skyportd stores local runtime state in skyportd.db. Treat it as part of the daemon’s working data and back it up before major upgrades.
Logging recommendation
Section titled “Logging recommendation”For local debugging, pretty logs are great. For centralized logging systems, switch to json.