## Purpose Netbird is a free and open-source VPN server and client platform. The following document will illustrate how to deploy Netbird into a homelab or business environment. !!! note "Assumptions" It is assumed that you are running Rocky Linux 10. You can technically use anything, but the command syntax will be different depending on the platform, and this document will not outline every possible operating system. ### Install Prerequisites You need to install a few things before we can begin with the deployment of Netbird. Run the following commands set up the server environment before Netbird deployment. !!! warning "Run as Non-Sudo" Run all of the commands below as a normal user, do not use `sudo su` when deploying Netbird. ```sh # Update system & install necessary packages sudo dnf update -y sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin jq sudo systemctl enable docker --now # Configure normal user to have docker privileges sudo usermod -aG docker nicole # Logout and log back in via SSH exit ssh nicole@192.168.3.65 # Create Netbird project directory and pull down installation files sudo mkdir -p /srv/containers/netbird sudo chmod -R 770 /srv/containers/netbird sudo chown -R nicole:docker /srv/containers/netbird cd /srv/containers/netbird curl -sSLO https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh # Deploy Netbird export NETBIRD_DOMAIN=vpn.bunny-lab.io bash getting-started-with-zitadel.sh ``` ### Example Deployment Output If everything is working correctly, you can go make some coffee and come back. When everything is done getting set up, you will see output similar to the below: ```sh ```