diff --git a/public/docs-static/img/getting-started/add-linux-peer.png b/public/docs-static/img/getting-started/add-linux-peer.png new file mode 100644 index 00000000..64777c03 Binary files /dev/null and b/public/docs-static/img/getting-started/add-linux-peer.png differ diff --git a/public/docs-static/img/getting-started/add-peer.png b/public/docs-static/img/getting-started/add-peer.png index f793a558..48d35bdc 100644 Binary files a/public/docs-static/img/getting-started/add-peer.png and b/public/docs-static/img/getting-started/add-peer.png differ diff --git a/public/docs-static/img/getting-started/dashboard.png b/public/docs-static/img/getting-started/dashboard.png new file mode 100644 index 00000000..52b0ef42 Binary files /dev/null and b/public/docs-static/img/getting-started/dashboard.png differ diff --git a/public/docs-static/img/getting-started/device-confirmation.png b/public/docs-static/img/getting-started/device-confirmation.png index 3d53b2b0..7a4be3b8 100644 Binary files a/public/docs-static/img/getting-started/device-confirmation.png and b/public/docs-static/img/getting-started/device-confirmation.png differ diff --git a/public/docs-static/img/getting-started/mac-installation.png b/public/docs-static/img/getting-started/mac-installation.png new file mode 100644 index 00000000..aed0f806 Binary files /dev/null and b/public/docs-static/img/getting-started/mac-installation.png differ diff --git a/public/docs-static/img/getting-started/peers.png b/public/docs-static/img/getting-started/peers.png index 036455be..8848f64a 100644 Binary files a/public/docs-static/img/getting-started/peers.png and b/public/docs-static/img/getting-started/peers.png differ diff --git a/public/docs-static/img/getting-started/setup-key-created.png b/public/docs-static/img/getting-started/setup-key-created.png new file mode 100644 index 00000000..8c25d72e Binary files /dev/null and b/public/docs-static/img/getting-started/setup-key-created.png differ diff --git a/public/docs-static/img/getting-started/setup-key.png b/public/docs-static/img/getting-started/setup-key.png new file mode 100644 index 00000000..12ae33eb Binary files /dev/null and b/public/docs-static/img/getting-started/setup-key.png differ diff --git a/public/docs-static/img/getting-started/systray-connected.png b/public/docs-static/img/getting-started/systray-connected.png new file mode 100644 index 00000000..caf1419b Binary files /dev/null and b/public/docs-static/img/getting-started/systray-connected.png differ diff --git a/src/pages/how-to/getting-started.mdx b/src/pages/how-to/getting-started.mdx index e1d565f8..c6ce6e80 100644 --- a/src/pages/how-to/getting-started.mdx +++ b/src/pages/how-to/getting-started.mdx @@ -7,75 +7,103 @@ export const title = 'Getting Started'
-
+ This guide describes how to quickly get started with NetBird and create a secure private network with two connected machines. - -One machine is a Linux laptop, and the other one a EC2 node running on AWS. -Both machines are running Linux but NetBird also works on Windows, MacOS nad popular mobile platforms like Android and iOS. - -## Create a NetBird Account -Sign-up at [app.netbird.io](https://app.netbird.io/) -You can use your Google, GitHub or Microsoft account. - -

- login-to-netbird -

+For this tutorial we will use a Macbook and an EC2 node running Linux on AWS. ## Install NetBird -After a successful login you will be redirected to the ```Peers``` screen which is empty because you don't have any peers yet. - -The `Add peer` window should automatically pop up, but if it doesn't, click ```Add new peer``` to add a new machine. - -

- login-to-netbird -

- -Choose your machine operating system (in our case it is ```Linux```) and proceed with the installation steps. +NetBird works on almost any platform including Windows, macOS, Linux, iOS, Android, Docker, routers, and even serverless environments. +To get started, install NetBird on your laptop by following the instructions on the [installation page](https://app.netbird.io/install):

login-to-netbird

- -## Connect your Laptop - -If you installed NetBird Desktop UI you can use it to connect to the network instead of running `netbird up` command. -Look for `NetBird` in your application list, run it, and click `Connect`. -> -

- login-to-netbird + login-to-netbird

-At this point a browser window pops up starting a device registration process. Click confirm and follow the steps if required. +## Connect Your Laptop +NetBird comes with a Desktop UI application that can be found in the systray. If it hasn't automatically started, look +for `NetBird` in the application list, run it, and click `Connect`: + +

+ login-to-netbird +

+ + + Alternatively, you can run the `netbird up` command in the terminal. + + +At this point a browser window pops up starting an interactive SSO login session that will register your laptop. +You will be prompt to sign up and confirm your device registration:

login-to-netbird

-## Connect Your EC2 Node - -On the EC2 node repeat the installation steps and run `netbird up` command. - -```bash -sudo netbird up - ``` - -Copy the verification URL from the terminal output and paste it in your browser. Repeat step #5 +The NetBird systray icon will turn orange indicating that your laptop was registered in the network:

- login-to-netbird + login-to-netbird

-## Validate Connection +## Confirm the Laptop Registration -Return to ```Peers``` and you should notice 2 new machines with status ```online``` +After the registration is complete, proceed to the [NetBird dashboard](https://app.netbid.io) to confirm that your +laptop is in the network. You will see it in the `Peers` view: + +

+ login-to-netbird + +

+ +## Install NetBird on the EC2 Node + +Let's install NetBird on the server. In the `Peers` view, click `Add Peer` and choose Linux: + +

+ login-to-netbird +

+ +Copy the installation script and paste in the terminal of your EC2 node: + +```bash +curl -fsSL https://pkgs.netbird.io/install.sh | sh +``` + +## Connect the EC2 Node + +In the previous steps you used the interactive SSO login flow to register a user device. This flow is a convenient way to +register devices with a user interface. However, for servers or containers that don't have a user interface, +you can use a [setup key](/how-to/register-machines-using-setup-keys) to register them. + +To create a setup key, go to the `Setup Keys` section, click `Create Setup Key`, name your key, and click `Create`: + +

+ login-to-netbird +

+ +

+ login-to-netbird +

+ +Copy the newly created setup key and use it with the `netbird up --setup-key ` command to connect your EC2 node to the network. +Run this command in the terminal of your EC2 node: + +```bash +netbird up --setup-key PASTE_YOUR_KEY_HERE +``` + +## Validate the Connection + +Return to the `Peers` view in the NetBird dashboard. You should see two machines in the list:

login-to-netbird

-To test the connection you could try pinging devices: +To test the connection ping the machines from each other: On your laptop: ```bash @@ -84,13 +112,18 @@ ping ec2-demo-node.netbird.cloud On the EC2 node: ```bash -ping my-linux-laptop.netbird.cloud +ping mikhails-macbook-pro.netbird.cloud ``` -Done! You now have a secure peer-to-peer private network configured. +Done! You now have a secure peer-to-peer WireGuard connection between two machines. -
+## Next Steps -- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird) +Try creating a [network access policy](/how-to/manage-network-access) to control the traffic between the two machines. + + +## Support Us + +- Star us on [GitHub](https://github.com/netbirdio/netbird) - Follow us [on Twitter](https://twitter.com/netbird) - Join our [Slack Channel](https://join.slack.com/t/netbirdio/shared_invite/zt-2p5zwhm4g-8fHollzrQa5y4PZF5AEpvQ) - NetBird release page on GitHub: [releases](https://github.com/netbirdio/netbird/releases/latest)