important notes to remember #
- Cloudflare network settings of the domain enable gRPC.
- for region to function accurately disable cloudflare proxy. If enabled it will give the location of the proxy not the location of the device.
- (might not be necessary) run Coturn outside of docker swarm so you can use host mode.
- in management.json point turn and stun to public ip not hostname if you enable proxy.
- don’t forget to double check the turn password in turnserver.conf and management.json
- Zitadel requires a reasonable amount of processing power.
- most other challenges should be addressed in the Netbird docs.
compose.yaml (coturn + peer for local network route) #
version: "3.8"
services:
# Coturn
netbird-coturn:
image: coturn/coturn:latest
restart: unless-stopped
domainname: netbird.ianb.be
#ports:
# - 3478:3478/udp
# - 49152-65535:49152-65535/udp
volumes:
- /nfs/configs/netbird/turnserver.conf:/etc/turnserver.conf:ro
# - ./privkey.pem:/etc/coturn/private/privkey.pem:ro
# - ./cert.pem:/etc/coturn/certs/cert.pem:ro
network_mode: host
command:
- -c /etc/turnserver.conf
netbird-peer:
image: netbirdio/netbird:latest
restart: unless-stopped
container_name: lan-router-peer
hostname: lan-router-peer
volumes:
- netbird-client:/etc/netbird
environment:
- NB_MANAGEMENT_URL=https://netbird.ianb.be:443
- NB_SETUP_KEY=
cap_add:
- SYS_RESOURCE
- SYS_ADMIN
- NET_ADMIN
volumes:
netbird-client:
alpine test setup (did not work) #
enable community repo: setup-apkrepos -cf
install jq, curl and docker: apk add jq curl docker docker-cli-compose
enable docker at boot:
rc-update add docker default
service docker start
date command fix for install script to work: apk add coreutils