diff --git a/next.config.mjs b/next.config.mjs index cd210e56..01238dc0 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -178,7 +178,7 @@ const nextConfig = { }, { source: '/how-to/installation/mobile', - destination: '/get-started/install/mobile', + destination: '/get-started/install', permanent: true, }, { diff --git a/public/docs-static/img/get-started/android/change-server-menu-item.png b/public/docs-static/img/get-started/android/change-server-menu-item.png new file mode 100644 index 00000000..67b7942c Binary files /dev/null and b/public/docs-static/img/get-started/android/change-server-menu-item.png differ diff --git a/public/docs-static/img/get-started/android/confirm-erase-config.png b/public/docs-static/img/get-started/android/confirm-erase-config.png new file mode 100644 index 00000000..788bcedd Binary files /dev/null and b/public/docs-static/img/get-started/android/confirm-erase-config.png differ diff --git a/public/docs-static/img/get-started/android/first-install-dialog.png b/public/docs-static/img/get-started/android/first-install-dialog.png new file mode 100644 index 00000000..08ce4355 Binary files /dev/null and b/public/docs-static/img/get-started/android/first-install-dialog.png differ diff --git a/public/docs-static/img/get-started/android/main-screen.png b/public/docs-static/img/get-started/android/main-screen.png new file mode 100644 index 00000000..e9d44661 Binary files /dev/null and b/public/docs-static/img/get-started/android/main-screen.png differ diff --git a/public/docs-static/img/get-started/android/server-changed.png b/public/docs-static/img/get-started/android/server-changed.png new file mode 100644 index 00000000..f4ecdf9a Binary files /dev/null and b/public/docs-static/img/get-started/android/server-changed.png differ diff --git a/public/docs-static/img/get-started/android/tv-sso-qr-dialog.png b/public/docs-static/img/get-started/android/tv-sso-qr-dialog.png new file mode 100644 index 00000000..0c3732f1 Binary files /dev/null and b/public/docs-static/img/get-started/android/tv-sso-qr-dialog.png differ diff --git a/public/docs-static/img/get-started/android/vpn-connection-request.png b/public/docs-static/img/get-started/android/vpn-connection-request.png new file mode 100644 index 00000000..fbf87fcd Binary files /dev/null and b/public/docs-static/img/get-started/android/vpn-connection-request.png differ diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index a0c03db4..c097c34e 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -37,9 +37,10 @@ export const docsNavigation = [ { title: 'Linux', href: '/get-started/install/linux' }, { title: 'Windows', href: '/get-started/install/windows' }, { title: 'MacOS', href: '/get-started/install/macos' }, + { title: 'Android', href: '/get-started/install/android' }, + { title: 'iOS', href: '/get-started/install/ios' }, { title: 'Docker', href: '/get-started/install/docker' }, { title: 'Synology', href: '/get-started/install/synology' }, - { title: 'Android/iOS', href: '/get-started/install/mobile' }, { title: 'pfSense', href: '/get-started/install/pfsense' }, { title: 'OPNsense', href: '/get-started/install/opnsense' }, ], diff --git a/src/pages/get-started/install/android.mdx b/src/pages/get-started/install/android.mdx new file mode 100644 index 00000000..0e72740c --- /dev/null +++ b/src/pages/get-started/install/android.mdx @@ -0,0 +1,80 @@ +import {Note} from "@/components/mdx"; + +# Install NetBird on an Android + +The Android supports mobile devices, tablets and Android TV devices running Android 8.0 or later. + + + Android TV support is currently in beta. + + +## Where to Download + +NetBird has an official Android application that you can download at Google Play Store: + +

+ + playstore + + +

+ +APK releases are also available to install directly on your Android device via the [NetBird Android GitHub repository](https://github.com/netbirdio/android-client/releases). + +## Configure Netbird on Android + +### First Launch + +Upon first launch, NetBird will inform you that it's using the default managemet server. + +firstinstall + +Select 'Continue' to ackownledge and you'll be greeted with the app's main screen. + +mainscreen + +### Management Server Configuration + + + This step only applies to self-hosted users, or cloud users enrolling the device with a setup key. If you're a cloud user and are _not_ enrolling the device with a setup key, you can safely skip to . + + +Select the hamburger menu on the top left of the main screen (or hold the left directional button on Android TV) and navigate to the 'Change Server' menu. + +changeserver + +Changing servers erases the device's current NetBird config, so you'll need to confirm the action before proceeding: + +confirmeraseconfig + +Enter your management server endpoint. For cloud users, this is `https://api.netbird.io:443`. For self-hosted users, it's usually `https://your_management_server_url:443`, but you can refer to your management.json configuration file if you're unsure. + +If enrolling the device with a setup key, select '+ Add this device with a setup key' and enter your setup key. Select 'change' to apply your new management server config, and if successful you'll see the following: + +serverchanged + +You're now ready to connect to your Netbird network! + +#### Connecting to Your Network + +Select the NetBird logo button to connect. The app will request permission to create a VPN connection: + +vpnconnectionrequest + +Select 'OK'. If you didn't enter a setup key in the 'Change Server' menu, then you'll need to authenticate with your SSO provider. NetBird will open a browser window where you'll be instructed to sign in to your SSO provider. + +After logging in, NetBird will confirm your authentication. Once you close the browser window, your device should be connected! + +#### Authenticating on Android TV + +Since Android TV doesn't ship with a built-in browser, and entering credentials with a remote may be less than ideal, the TV client uses a slightly different authentication flow. If you're not using a setup key, then after you grant the app permission +to create a VPN connection, you'll be presented a QR code and device ID: + +tvssoqr + +Scan the QR code with your phone and you'll be able to sign in to your SSO provider there. If asked to confirm your device code, confirm that the code underneath the QR code matches the one presented by your SSO provider. Once you've completed +the SSO flow, the QR code dialog in the NetBird app will automatically dismiss itself, and your device should now be connected! + + + + diff --git a/src/pages/get-started/install/iOS.mdx b/src/pages/get-started/install/iOS.mdx new file mode 100644 index 00000000..09440d13 --- /dev/null +++ b/src/pages/get-started/install/iOS.mdx @@ -0,0 +1,11 @@ +import {Note} from "@/components/mdx"; + +# iOS + +NetBird has an official iOS application that you can download from the App Store: + +

+ + appstore + +

diff --git a/src/pages/get-started/install/index.mdx b/src/pages/get-started/install/index.mdx index d1919af4..c92f565b 100644 --- a/src/pages/get-started/install/index.mdx +++ b/src/pages/get-started/install/index.mdx @@ -14,8 +14,8 @@ The NetBird client (agent) allows a peer to join a pre-existing NetBird deployme * [Install on macOS](/get-started/install/macos) * [Install on Windows](/get-started/install/windows) * [Install on Synology](/get-started/install/synology) -* [Install on Android](/get-started/install/mobile) -* [Install on iOS](/get-started/install/mobile) +* [Install on Android](/get-started/install/android) +* [Install on iOS](/get-started/install/iOS) ## Running NetBird with SSO Login ### Desktop UI Application