Initial commit: NetBird self-hosted deployment documentation

This commit is contained in:
2026-04-17 08:41:50 +08:00
commit 6e956f7334
4 changed files with 765 additions and 0 deletions

76
README.md Normal file
View File

@@ -0,0 +1,76 @@
# NetBird Self-Hosted @ 192.168.42.127
在 Proxmox LXC (Ubuntu 24.04) 上自建 NetBird 的完整部署記錄與設定檔。
## 🎯 部署特色
- **IP-only 部署**:無需域名,純內網 LAN 使用
- **HTTP 模式**:使用 Caddy 作為反向代理統一 port 80
- **內建 IdP**:使用 NetBird Server 內建的 OAuth2Dex無需額外 IdP
- **LXC 相容**:使用 crun 取代 runc 繞過 Proxmox 非特權容器限制
## 📁 文件說明
| 文件 | 用途 |
|------|------|
| [QUICKSTART.md](./QUICKSTART.md) | 快速部署步驟(適合複製貼上執行) |
| [netbird-selfhosted-setup.md](./netbird-selfhosted-setup.md) | 完整安裝指南(含原理說明) |
| [SUMMARY.md](./SUMMARY.md) | 部署摘要與疑難排解記錄 |
## 🚀 快速開始
```bash
# 瀏覽器開啟
open http://192.168.42.127
# 客戶端連線
netbird up --management-url http://192.168.42.127
```
## 🏗️ 架構
```
┌───────────────────────┐
│ 192.168.42.127 │
│ │
:80 ────▶│ Caddy (反向代理) │
│ ├── / ──▶│──▶ dashboard (Web UI)
│ ├── /api/* ──▶│──▶ netbird-server
│ ├── /oauth2/* ──▶│──▶ netbird-server
│ ├── /relay* ──▶│──▶ netbird-server
│ └── gRPC ──▶│──▶ netbird-server
:3478/udp ────────────────────────│──▶ netbird-server (STUN)
└───────────────────────┘
```
## 🔧 環境
| 項目 | 值 |
|------|-----|
| 主機 | `192.168.42.127` |
| 系統 | Ubuntu 24.04 LTS |
| 容器類型 | Proxmox LXC (非特權) |
| Docker | 29.4.0 |
| OCI Runtime | crun 1.20 |
| 設定目錄 | `/opt/netbird/` |
## 📦 服務清單
| 容器 | 映像 | 用途 |
|------|------|------|
| `netbird-caddy` | `caddy:2` | 反向代理 (:80) |
| `netbird-dashboard` | `netbirdio/dashboard:latest` | Web 管理介面 |
| `netbird-server` | `netbirdio/netbird-server:latest` | 管理 + Signal + Relay + STUN + IdP |
## ⚠️ 注意事項
- **無 TLS**:僅適合內網,勿暴露至公網
- **無域名**:使用 IP 作為 issuer若 IP 變更需重建
- **LXC 限制**:必須使用 crun不可使用預設 runc
- **首次啟動慢**:需下載 GeoLite2 資料庫(約 60MB
## 🔗 相關連結
- [NetBird 官方文件](https://docs.netbird.io/selfhosted/selfhosted-quickstart)
- [NetBird GitHub](https://github.com/netbirdio/netbird)
- [crun](https://github.com/containers/crun)