About Blog Documentation FAQ GitHub

Installing manually on macOS

Yggdrasil is supported on macOS.

Build from source

macOS has most of the tools needed to build Yggdrasil from source - you just need to install the Go toolchain. Yggdrasil requires Go 1.11 as a minimum.

Clone the repository and build:

cd /path/to
git clone https://github.com/yggdrasil-network/yggdrasil-go

Build Yggdrasil:

cd /path/to/yggdrasil-go
./build

The build will produce yggdrasil and yggdrasilctl binaries. System Integrity Protection in macOS prevents you from copying files into /usr/bin, therefore you should install into /usr/local/bin:

sudo cp {yggdrasil,yggdrasilctl} /usr/local/bin

Debug builds

You can create a debug build by running ./build -d instead of ./build. Debug builds contain profiling code as well as additional debugging symbols. They are likely to be larger files as a result.

Install launchd service

launchd service scripts are included in the contrib/macos/ folder so that it runs automatically in the background (using /etc/yggdrasil.conf for configuration).

Copy the service files:

sudo cp contrib/macos/yggdrasil.plist /Library/LaunchDaemons/

Enable and start Yggdrasil:

sudo launchctl load /Library/LaunchDaemons/yggdrasil.plist
sudo launchctl start /Library/LaunchDaemons/yggdrasil.plist

Once installed as a launchd service, you can read the yggdrasil output in the following files:

tail -f /tmp/yggdrasil.stdout.log
tail -f /tmp/yggdrasil.stderr.log

Generate configuration

Generate an initial Yggdrasil configuration file:

sudo yggdrasil -genconf > /etc/yggdrasil.conf

You can make changes to this file as described in the Configuration page.