diff --git a/public/docs-static/img/selfhosted/maintenance/update-available.png b/public/docs-static/img/selfhosted/maintenance/update-available.png new file mode 100644 index 00000000..69bbb3b1 Binary files /dev/null and b/public/docs-static/img/selfhosted/maintenance/update-available.png differ diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index 15cab78c..fe673068 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -281,20 +281,27 @@ export const docsNavigation = [ }, ], }, - { - title: 'CLIENT', - links: [ - { title: 'Profiles', href: '/client/profiles' }, - ], - }, { title: 'SELF-HOST NETBIRD', links: [ { title: 'Quickstart Guide', href: '/selfhosted/selfhosted-quickstart' }, - { title: 'Configuration Files', href: '/selfhosted/configuration-files' }, + { + title: 'Maintenance', + isOpen: false, + links: [ + { title: 'Configuration Files', href: '/selfhosted/configuration-files' }, + { title: 'Backup', href: '/selfhosted/maintenance/backup' }, + { title: 'Upgrade', href: '/selfhosted/maintenance/upgrade' }, + { title: 'Remove', href: '/selfhosted/maintenance/remove' }, + { title: 'Reverse Proxy', href: '/selfhosted/reverse-proxy' }, + { title: 'Management SQLite Store', href: '/selfhosted/sqlite-store' }, + { title: 'Management Postgres Store', href: '/selfhosted/postgres-store' }, + { title: 'Activity Events Postgres Store', href: '/selfhosted/activity-postgres-store' }, + ] + }, { title: 'Authentication', - isOpen: true, + isOpen: false, links: [ { title: 'Authentication and IdPs', href: '/selfhosted/identity-providers' }, { title: 'Local User Management', href: '/selfhosted/identity-providers/local' }, @@ -323,11 +330,7 @@ export const docsNavigation = [ }, ] }, - { title: 'Reverse Proxy', href: '/selfhosted/reverse-proxy' }, { title: 'Advanced Guide', href: '/selfhosted/selfhosted-guide' }, - { title: 'Management SQLite Store', href: '/selfhosted/sqlite-store' }, - { title: 'Management Postgres Store', href: '/selfhosted/postgres-store' }, - { title: 'Activity Events Postgres Store', href: '/selfhosted/activity-postgres-store' }, { title: 'Management geolocation', href: '/selfhosted/geo-support' }, { title: 'Troubleshooting', href: '/selfhosted/troubleshooting' }, { @@ -340,6 +343,12 @@ export const docsNavigation = [ }, ], }, + { + title: 'CLIENT', + links: [ + { title: 'Profiles', href: '/client/profiles' }, + ], + }, { title: 'USE CASES', links: [ diff --git a/src/pages/selfhosted/maintenance/backup.mdx b/src/pages/selfhosted/maintenance/backup.mdx new file mode 100644 index 00000000..537c9c1f --- /dev/null +++ b/src/pages/selfhosted/maintenance/backup.mdx @@ -0,0 +1,27 @@ +## Back Up Your Self-Hosted NetBird Installation + +To back up your NetBird installation, you need to copy the configuration files and the Management service databases. + +The configuration files are located in the folder where you ran [the installation script](/selfhosted/selfhosted-quickstart#installation-script). To back up, copy the files to a backup location: +```bash +mkdir backup +cp docker-compose.yml Caddyfile dashboard.env management.json relay.env backup/ +``` + + +For detailed information about each configuration file and its options, see the [Configuration Files Reference](/selfhosted/configuration-files). + +To save the Management service databases, stop the Management service and copy the files from the store directory: +```bash +docker compose stop management +docker compose cp -a management:/var/lib/netbird/ backup/ +docker compose start management +``` + +## Get In Touch + +Feel free to ping us on [Slack](/slack-url) if you have any questions. + +- NetBird managed version: [https://app.netbird.io](https://app.netbird.io) +- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird) +- Follow us [on X](https://x.com/netbird) diff --git a/src/pages/selfhosted/maintenance/remove.mdx b/src/pages/selfhosted/maintenance/remove.mdx new file mode 100644 index 00000000..66b1dacf --- /dev/null +++ b/src/pages/selfhosted/maintenance/remove.mdx @@ -0,0 +1,17 @@ +## Remove Your Self-Hosted NetBird Installation + +To remove the NetBird installation and all related data from your server, run these commands from the folder where you installed NetBird: +```bash +# remove all NetBird-related containers and volumes (data) +docker compose down --volumes +# remove downloaded and generated config files +rm -f docker-compose.yml Caddyfile dashboard.env management.json relay.env +``` + +## Get In Touch + +Feel free to ping us on [Slack](/slack-url) if you have any questions. + +- NetBird managed version: [https://app.netbird.io](https://app.netbird.io) +- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird) +- Follow us [on X](https://x.com/netbird) diff --git a/src/pages/selfhosted/maintenance/upgrade.mdx b/src/pages/selfhosted/maintenance/upgrade.mdx new file mode 100644 index 00000000..1e8d57f3 --- /dev/null +++ b/src/pages/selfhosted/maintenance/upgrade.mdx @@ -0,0 +1,66 @@ +## Upgrade Your Self-Hosted NetBird Installation + +### Check for Updates + +The NetBird Dashboard displays an update indicator at the bottom of the left navigation menu when a new version is available: + +

+ update-available +

+ +You can also check the current version programmatically via the API (requires authentication): + +```bash +curl 'https://your-netbird-domain/api/instance/version' \ + -H 'accept: application/json' \ + -H 'authorization: Bearer ' +``` + +Example response: + +```json +{ + "dashboard_available_version": "2.28.0", + "management_available_version": "0.64.1", + "management_current_version": "0.64.0", + "management_update_available": true +} +``` + +### Check Release Notes + +Before upgrading, review the release notes for any breaking changes or migration steps: + +- **Dashboard**: [https://github.com/netbirdio/dashboard/releases](https://github.com/netbirdio/dashboard/releases) +- **Management, Signal, and Relay**: [https://github.com/netbirdio/netbird/releases](https://github.com/netbirdio/netbird/releases) + + +Management, Signal, and Relay are all part of the same repository and share the same version numbers. + + +### Upgrade Steps + +To upgrade NetBird to the latest version: + +1. Run the backup steps described in the [backup](#backup) section. +2. Review the release notes (see above) for any breaking changes. +3. Pull the latest NetBird docker images: + ```bash + docker compose pull management dashboard signal relay + ``` +4. Restart the NetBird containers with the new images: + ```bash + docker compose up -d --force-recreate management dashboard signal relay + ``` + + +For upgrades from older versions (pre-v0.26.0), see the [Legacy upgrade notes](#legacy-self-hosting-with-zitadel-idp). + + +## Get In Touch + +Feel free to ping us on [Slack](/slack-url) if you have any questions. + +- NetBird managed version: [https://app.netbird.io](https://app.netbird.io) +- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird) +- Follow us [on X](https://x.com/netbird) diff --git a/src/pages/selfhosted/selfhosted-quickstart.mdx b/src/pages/selfhosted/selfhosted-quickstart.mdx index 649e99b3..a6c85b40 100644 --- a/src/pages/selfhosted/selfhosted-quickstart.mdx +++ b/src/pages/selfhosted/selfhosted-quickstart.mdx @@ -128,57 +128,27 @@ NetBird includes built-in local user management powered by an embedded -### Remove -To remove the NetBird installation and all related data from your server, run these commands from the folder where you installed NetBird: -```bash -# remove all NetBird-related containers and volumes (data) -docker compose down --volumes -# remove downloaded and generated config files -rm -f docker-compose.yml Caddyfile dashboard.env management.json relay.env -``` +--- ## Troubleshoot @@ -198,7 +168,7 @@ For more troubleshooting help, see the [Troubleshooting guide](/selfhosted/troub --- -## Get in touch +## Get In Touch Feel free to ping us on [Slack](/slack-url) if you have any questions. diff --git a/src/styles/tailwind.css b/src/styles/tailwind.css index b5ec025b..0fd50963 100644 --- a/src/styles/tailwind.css +++ b/src/styles/tailwind.css @@ -68,6 +68,13 @@ width: 70%; } +.imagewrapper-small { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); + border-radius: 4px; + overflow:hidden; + width: 30%; +} + .imagewrapper-medium { box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); border-radius: 4px;