Skip to main content

Personal vpn with Netbird

·212 words·1 min
Author
Ian Blockmans
I make things and also virtual things

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

Related

Network map
·157 words·1 min
Traefik reverse proxy
·222 words·2 mins
Monitoring uptime with Uptime Kuma
·75 words·1 min