Intro
Yggdrasil is a new experimental compact routing scheme. It is designed to be a future-proof and decentralised alternative to the structured routing protocols commonly used today on the Internet, as well as an enabling technology for future large-scale mesh networks. The current implementation of Yggdrasil is a lightweight userspace software router which is easy to configure.
Usage
The container generates new Yggdrasil config if empty. And automatically update available public peers in the Yggdrasil configuration file with peers_updater at every start.
Here are some example snippets to help you get started creating a container.
docker-compose
services:
yggdrasil:
build:
context: https://git.bitdeals.org/private/yggdrasil.git
dockerfile: ./docker/Dockerfile
image: registry.bitdeals.org/yggdrasil
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
volumes:
- "./yggdrasil:/etc/yggdrasil"
sysctls:
- "net.ipv6.conf.all.disable_ipv6=0"
environment:
- BIND_PORT=80
- BIND_ADDRESS=nginx
docker cli
docker run \
--rm \
--cap-add "NET_ADMIN" \
--device "/dev/net/tun" \
--volume "./yggdrasil.conf:/etc/yggdrasil/yggdrasil.conf" \
--sysctl "net.ipv6.conf.all.disable_ipv6=0" \
--mac-address "52:2a:ed:47:e9:25" \
registry.bitdeals.org/yggdrasil
Parameters
Container images are configured using parameters passed at runtime.
| Parameter | Function |
|---|---|
| -e BIND_PORT | Port to forward. |
| -e BIND_ADDRESS | Address of another docker service to forward to. |
Description
Languages
Dockerfile
51.2%
Shell
48.8%