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.
+
+
+
+
+
+
+
+
+Select 'Continue' to ackownledge and you'll be greeted with the app's main screen.
+
+
+
+### Management Server Configuration
+
+
+
+Changing servers erases the device's current NetBird config, so you'll need to confirm the action before proceeding:
+
+
+
+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:
+
+
+
+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:
+
+
+
+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:
+
+
+
+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:
+
+
+
+
+
+