Coder Social home page Coder Social logo

docs's Introduction

The NetBird documentation

This repository contains assets required to build the documentation website for NetBird. It is built using Docusaurus 2, a modern static website generator.

We're glad that you want to contribute!

Requirements

  • node 16
  • npm 8+

Installation

$ npm install

Local Development

$ npm run dev

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Contributing to the docs

You can click the Fork button in the upper-right area of the screen to create a copy of this repository in your GitHub account. This copy is called a fork. Make any changes you want in your fork, and when you are ready to send those changes to us, go to your fork and create a new pull request to let us know about it.

Once your pull request is created, a NetBird reviewer will take responsibility for providing clear, actionable feedback. As the owner of the pull request, it is your responsibility to modify your pull request to address the feedback that has been provided to you by the NetBird reviewer.

Also, note that you may end up having more than one NetBird reviewer provide you feedback or you may end up getting feedback from a NetBird reviewer that is different than the one initially assigned to provide you feedback.

Furthermore, in some cases, one of your reviewers might ask for a technical review from a NetBird author when needed. Reviewers will do their best to provide feedback in a timely fashion but response time can vary based on circumstances.

Code of conduct

Participation in the NetBird community is governed by the NetBirds' Code of Conduct.

Thank you

NetBird thrives on community participation, and we appreciate your contributions to our website and our documentation!

docs's People

Contributors

amplitudesxd avatar anjomro avatar bcmmbaga avatar braginini avatar dhxgit avatar gigovich avatar heisbrot avatar horzadome avatar itoffshore avatar juliaroesschen avatar lixmal avatar mlsmaycon avatar mrgogo400 avatar mujisayed avatar oskardotglobal avatar pappz avatar pascal-fischer avatar pnowy avatar ruakij avatar shvchk avatar simen64 avatar sisheogorath avatar surik avatar synfinatic avatar timwsuqld avatar ukashazia avatar vladislav-kuznetsov-newhomesmate avatar webash avatar wisetux avatar wszgrcy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

docs's Issues

Add/Adjust Selfhosted install instructions for use behind existing reverse-Proxies

Hello,
I'd like to adjust the installation for selfhosted setups once i have adjusted it for my setup.

The current install assumes port 80, 443, 10000 and 33073 are free, which is not the case for many setups.
It also assumes Netbird should get its own Certificate through letsencrypt instead of accepting cert-files as alternative.

For that i have some questions:

  1. What protocol does the management service use, looking at the port I assume HTTP?
  2. What protocol does the signal system use?
  3. Whats is wiretrustee/dashboard being used for? Their docker-page says "This image is not ready for production use"?

Also not 100% sure if i am really willing to rewrite all that to fit my setup without really knowing if netbird works for what i need.
Netmaker was easier to adjust.

Installation instructions relies on deprecated apt-key method

The installation instructions relies on apt-key being used to import Netbird's gpg keys. However, apt-key is deprecated and will be removed completely in future Debian-based distributions; apt-key will last be available in Debian 11 and Ubuntu 22.04

Instead the user should download the key "manually" and place it in /usr/share/keyrings, and add the Netbird repo as a source (file) under /etc/apt/sources.list.d. Additionally, the repo should ideally be setup as signed with [signed-by=/usr/share/keyrings/.gpg]. For inspiration, take a look at 1Password's installation instructions: https://developer.1password.com/docs/cli/get-started/

Example to forward traffic through a netbird peer

Scenario

Imagine that you have a two Peers (A and B). Peer A advertise 8.8.8.8/32 to Peer B through Netbird's network.

If we have hosts in Peer B's subnet that may want to talk to 8.8.8.8/32 through Peer A but they simple cant/dont want to install Netbird Client. We can forward traffic to Peer B instead.

I have managed to get this working by following these steps:

In peer B:

  1. run echo 1 > /proc/sys/net/ipv4/ip_forward or adding net.ipv4.ip_forward=1 to /etc/sysctl.conf.
  2. run iptables -t nat -A POSTROUTING -o netbird_interface -j MASQUERADE

Take note that netbird_interface is the interface from wireguard. Run route -n just to be sure.
image

In hosts that are in the same local subnet of Peer B:

  1. run route add 8.8.8.8 mask 255.255.255.255 ip_of_peer_B

In my case, it was easier to push that route (static route) in my router (UDM PRO from ubiquiti). By doing this all local clients (that dont have netbird) in my home network can now access 8.8.8.8 through Peer B -> Peer A (Netbird route).

Adjust IDP Docs for Zitadel to include idp-sign-key-refresh-enabled

I have just come across an issue which took me a little while to figure out because it relys on waiting for Zitadel to rotate keys to test.

Zitadel rotates signing keys so after n hours expiry time the dashboard will no longer work as management returns 401 to api requests.

Adding --idp-sign-key-refresh-enabled to the docker-compose command config for management service solves this issue.

I would be happy to submit a PR if that's helpful but I'm not sure if it's better solved by a line in the docs or being handled automatically by the configure.sh script or whether there are plans to implement that option by default etc.

Suggest for improvements

Hi, I would like to add some suggestions to improve the documentation based on some shortcomings I have seen (also from reports from other users) and some needs I have had (which I couldn't find an answer to in the documentation)

  • add to idp doc use of new NETBIRD_MGMT_IDP_SIGNKEY_REFRESH added after I had the issue with google idp and I also saw many users had same problem with differents idp
  • extend the doc on how relay connections works, see netbirdio/netbird#1286 (comment)
  • specify what might hinder P2P connections. for example based on what I know I wrote a list here. It might also be useful to add any advice on debugging and possible resolution.
  • specify on selfhosted server if is possibile and how migrate to another server maintaining the data. It seems possible but I haven't tried it yet. specify that change idp is not possible as don't store/link the users email but the id; they told me that it should be possible by manually changing the id of all users in the store.json, I will have to do it but I haven't done it yet (to confirm if is working)
  • add codespell workflow also in this repository: netbirdio/netbird#1281
  • specify that is possibile to manually set multiple coturn servers, already supported in management.json
  • mention https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ for test coturn server and connection to it (from clients) if needed
  • additional debug log for try to debug disconnect issue:
    on linux: sudo bash -c "NB_LOG_LEVEL=debug PION_LOG_TRACE=all netbird service run" | tee disconnect.logs
    on windows, working ICE debug method on Windows, thanks to @mlsmaycon :
    • download psexec: https://learn.microsoft.com/en-us/sysinternals/downloads/psexec
    • add PION_LOG_TRACE=all as system environment variables
    • stop netbird: netbird service stop
    • run the following in a privileged PowerShell session: .\PsExec64.exe -s cmd.exe /c "netbird service run --log-level debug --log-file console > c:\windows\temp\netbird.out.log 2>&1"
    • So the netbird.out.log will contain netbird debug log and ICE trace logs

When I think of anything else I will add to the list.

I am not good enough at English and at explaining to do it myself, in some cases I may not even have the necessary knowledge to create good documentation, so I added this suggestion list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.