mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-18 00:06:38 +00:00
3.0 KiB
3.0 KiB
Quick Start Guide
Getting Started in 3 Steps
1. Install Dependencies
cd /home/pascal/Git/Netbird/netbird/client/ui-electron
npm install
This will install all required packages including:
- Electron 28
- React 18
- TypeScript 5
- Tailwind CSS
- Framer Motion
- gRPC libraries
2. Start Development Server
npm run dev
This command:
- Starts Vite dev server on
http://localhost:5173 - Compiles Electron TypeScript code
- Launches Electron window
- Enables hot reload for React components
3. Start Using the App
The app will open with:
- Modern glass-themed interface
- System tray icon
- Real-time connection status
- Full feature access
What You'll See
Dashboard Page
- Connection status with animated icon
- Connect/Disconnect button
- Quick feature overview
- Configuration summary
Networks Page
- List of available networks
- Select/deselect networks
- View domains and IPs
- Filter by type
Settings Page
- Connection configuration
- Feature toggles (SSH, Rosenpass, etc.)
- Advanced settings
- Save changes instantly
Profiles Page
- View all profiles
- Switch between profiles
- Active profile indicator
Debug Page
- Create debug bundles
- Anonymization option
- Export diagnostics
Development Tips
File Structure
src/
├── App.tsx # Main app with routing
├── store/ # Zustand state management
└── pages/ # Individual page components
Making Changes
- UI Changes: Edit files in
src/pages/- auto-reloads - State Logic: Modify
src/store/useStore.ts - Electron Main: Edit
electron/main.ts- requires restart - gRPC Client: Update
electron/grpc/client.ts - Styles: Customize
tailwind.config.js
Testing Connection
Ensure NetBird daemon is running:
netbird status
Should show daemon is operational.
Building for Production
Quick Build
npm run build
npm run build:linux
Creates distributable packages in release/ directory.
Packages Created
- AppImage: Portable Linux application
- .deb: Debian/Ubuntu package
- Unpacked: Direct executable
Troubleshooting
Port 5173 already in use
kill $(lsof -t -i:5173)
npm run dev
Cannot connect to daemon
systemctl status netbird
netbird service start # if not running
Build errors
rm -rf node_modules package-lock.json dist
npm install
npm run build
Next Steps
- Customize Theme: Edit
tailwind.config.jscolors - Add Features: Extend pages in
src/pages/ - Add Icons: Place PNGs in
assets/directory - Test Build: Run
npm run build:linux
Resources
- NetBird Docs: https://docs.netbird.io
- Electron Docs: https://electronjs.org/docs
- React Docs: https://react.dev
- Tailwind Docs: https://tailwindcss.com
Support
- GitHub Issues: https://github.com/netbirdio/netbird/issues
- NetBird Slack: Join via netbird.io
Happy coding! Enjoy the modern NetBird UI.