55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
# Intro
|
|
|
|
[Yggdrasil](https://yggdrasil-network.github.io/about.html) 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](https://github.com/ygguser/peers_updater) at every start.
|
|
|
|
Here are some example snippets to help you get started creating a container.
|
|
|
|
## docker-compose
|
|
|
|
```yaml
|
|
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
|
|
|
|
```sh
|
|
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.|
|
|
|