Linux

Where Does Yggdrasil Store Its Config?

Yggdrasil keeps keys, peers, and options in a yggdrasil.conf file, generated with -genconf and passed with -useconffile.

Last updated

Yggdrasil's identity is its config file. The encryption keys inside derive the node's IPv6 address, so losing the file means a new identity and re-peering from scratch. Package installs generate one automatically, usually at /etc/yggdrasil.conf or /etc/yggdrasil/yggdrasil.conf.

Peers are the one thing you always add by hand. The generated file connects to nothing useful until you paste peer addresses into it. Generate with yggdrasil -genconf, run with yggdrasil -useconffile, and never run -autoconf on a node whose address matters, since that mints random keys every start.

Where Yggdrasil stores this, by platform

Linux
/etc/yggdrasil.conf

Generated HJSON config with keys and peers. Some packages use /etc/yggdrasil/yggdrasil.conf instead. Generate fresh with yggdrasil -genconf, normalize with -normaliseconf, and back the file up like a password since keys equal identity.

Frequently asked questions

How do I generate a Yggdrasil config?

Run yggdrasil -genconf and redirect to /etc/yggdrasil.conf, adding -json for plain JSON instead of commented HJSON. Then edit in your peers and start with yggdrasil -useconffile. Keep a backup. The keys inside are your node's identity.

Can I run Yggdrasil without a config file?

Yes, with yggdrasil -autoconf, which uses sane defaults and random keys. Fine for throwaway testing. Every restart gets a new address, so never use it for a node peers or services depend on.

Notice an outdated path? Let us know.