Files
NetBirdMSP-Appliance/QUICKSTART.md
2026-02-07 11:44:50 +01:00

149 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 NetBird MSP Appliance - Quick Start Guide
Get up and running in 10 minutes!
## Prerequisites
- Ubuntu 22.04 or 24.04 LTS
- Root access
- 64GB RAM minimum (for 100 customers)
- 500GB SSD minimum
- Domain with wildcard DNS (*.yourdomain.com)
## Installation (3 commands!)
```bash
# 1. Clone repository
git clone https://github.com/yourusername/netbird-msp-appliance.git
cd netbird-msp-appliance
# 2. Run installer
chmod +x install.sh
sudo ./install.sh
# 3. Access web UI
# Open: http://YOUR_SERVER_IP:8000
# Default login will be shown at end of installation
```
## Post-Installation Configuration
### 1. First Login
- Use credentials displayed after installation
- **CHANGE PASSWORD IMMEDIATELY** in Settings
### 2. Configure System (Settings → System Configuration)
```yaml
Base Domain: yourdomain.com
Admin Email: admin@yourdomain.com
NPM API URL: http://nginx-proxy-manager:81/api
NPM API Token: <get from NPM interface>
```
### 3. Configure Firewall
```bash
# Allow web interface
sudo ufw allow 8000/tcp
# Allow NetBird relay ports (for up to 100 customers)
sudo ufw allow 3478:3577/udp
# Apply rules
sudo ufw reload
```
### 4. Get NPM API Token
1. Access your Nginx Proxy Manager
2. Go to Users → Edit your user
3. Copy the API token
4. Paste in NetBird MSP Appliance Settings
## Deploy Your First Customer
1. Click "New Customer"
2. Fill in:
- Name: "Test Customer"
- Subdomain: "test" (becomes test.yourdomain.com)
- Email: customer@example.com
- Max Devices: 20
3. Click "Deploy"
4. Wait 60-90 seconds
5. Done! Share the setup URL with your customer
## Verify DNS Configuration
Before deploying customers, ensure wildcard DNS works:
```bash
# Test DNS resolution
nslookup test.yourdomain.com
# Should return your server IP
# Or
dig test.yourdomain.com
```
## Troubleshooting
### Customer deployment fails
```bash
# Check logs
docker logs netbird-msp-appliance
# Check NPM connectivity
curl -I http://nginx-proxy-manager:81/api
```
### NPM not accessible
Make sure NPM is on the same Docker network:
```bash
docker network connect npm-network <npm-container-name>
```
### Ports already in use
```bash
# Check what's using port 8000
sudo lsof -i :8000
# Kill process if needed
sudo kill -9 <PID>
```
## Next Steps
- Read full [README.md](README.md) for details
- Check [CONTRIBUTING.md](CONTRIBUTING.md) to contribute
- Join discussions for support
## Quick Commands
```bash
# View logs
docker logs -f netbird-msp-appliance
# Restart appliance
docker restart netbird-msp-appliance
# Stop all customer instances
docker stop $(docker ps -q --filter "name=netbird-kunde")
# Backup database
docker exec netbird-msp-appliance cp /app/data/netbird_msp.db /app/data/backup-$(date +%Y%m%d).db
```
## System Requirements Calculator
| Customers | RAM | CPU | Disk |
|-----------|-----|-----|------|
| 25 | 16GB | 4 cores | 200GB |
| 50 | 32GB | 8 cores | 350GB |
| 100 | 64GB | 16 cores | 500GB |
| 200 | 128GB | 32 cores | 1TB |
Formula: `(Customers × 600MB) + 8GB (OS + Appliance)`
Happy MSP-ing! 🎉