-
Notifications
You must be signed in to change notification settings - Fork 0
quick_start
Arne Molland edited this page Sep 16, 2025
·
1 revision
Start the entire fleetd platform with a single command:
fleet startThis command will:
- β Generate secure secrets (if not exists)
- β
Create
config.tomlconfiguration - β Start all infrastructure services (PostgreSQL, VictoriaMetrics, Loki, Valkey, Traefik)
- β Launch Fleet server (API)
- β Start Web UI (Dashboard)
- β Display all URLs and credentials
- Docker and Docker Compose installed
- Go 1.21+ (for local development)
- Node.js 20+ (for web UI)
# Clone the repository
git clone https://github.com/fleetd/fleetd.git
cd fleetd
# Build the CLI
go build -o fleet ./cmd/fleet
# Start everything
./fleet startYou'll see output like:
π Fleet Platform is running!
π Service URLs
β’ Dashboard: http://localhost:3000
β’ API: http://localhost:8080
β’ API Gateway: http://localhost:80
β’ Metrics (Victoria): http://localhost:8428
β’ Logs (Loki): http://localhost:3100
β’ Traefik Dashboard: http://localhost:8090
π Credentials
β’ JWT Secret: AbC3...xYz9 (first/last 4 chars)
β’ API Key: DeF4...uVw8
β’ Grafana: admin / <generated-password>
π Configuration
β’ Config: ./config.toml
β’ Secrets: ./.env
β’ Database: ./fleet.db
β’ Compose: ./docker-compose.fleet.yml
For k3s Server (Control Plane):
./fleet provision \
--device /dev/disk2 \
--name "k3s-server-01" \
--wifi-ssid "YourWiFi" \
--wifi-pass "YourPassword" \
--plugin k3s \
--plugin-opt k3s.role=server \
--fleet-server http://<your-machine-ip>:8080For k3s Worker Node:
./fleet provision \
--device /dev/disk3 \
--name "k3s-worker-01" \
--wifi-ssid "YourWiFi" \
--wifi-pass "YourPassword" \
--plugin k3s \
--plugin-opt k3s.role=agent \
--plugin-opt k3s.server=https://k3s-server-01.local:6443 \
--plugin-opt k3s.token=<k3s-join-token> \
--fleet-server http://<your-machine-ip>:8080- Insert SD cards into Raspberry Pis
- Power on the devices
- Wait ~2-3 minutes for boot and network connection
Open http://localhost:3000 in your browser:
- Click "Discover Devices" - fleetd will scan the network via mDNS
- Discovered devices auto-register and start reporting telemetry
- View real-time metrics: CPU, Memory, Disk usage
- Check k3s cluster status
- Deploy applications to your cluster
Once devices are registered:
# SSH into k3s server (if SSH key was configured)
ssh pi@k3s-server-01.local
# Check cluster status
sudo k3s kubectl get nodes# Start without web UI
fleet start --no-web
# Start without Fleet server (infrastructure only)
fleet start --no-server
# Exclude specific services
fleet start --exclude clickhouse,grafana
# Reset all data and regenerate secrets
fleet start --reset
# Use specific port for API
fleet start --expose-port 9090# Check status
fleet status
# View logs
fleet logs fleet-server
fleet logs fleet-web
# Stop everything
fleet stop
# Reset (careful - deletes all data!)
fleet reset| Service | Purpose | URL |
|---|---|---|
| Fleet Server | Management API | http://localhost:8080 |
| Fleet Web | Dashboard UI | http://localhost:3000 |
| PostgreSQL | Primary database | localhost:5432 |
| VictoriaMetrics | Time-series metrics | http://localhost:8428 |
| Loki | Log aggregation | http://localhost:3100 |
| Valkey | Caching & rate limiting | localhost:6379 |
| Traefik | API Gateway | http://localhost:80 |
| Grafana | Monitoring (optional) | http://localhost:3001 |
- All secrets are auto-generated and stored in
.env - Never commit
.envorconfig.tomlto version control - Default setup is for development - use proper TLS in production
- Change default passwords before deploying to production
# Check Docker
docker ps
docker-compose logs -f
# Check specific service
fleet logs postgres
fleet logs fleet-server- Ensure all devices are on the same network
- Check firewall allows mDNS (port 5353)
- Verify Fleet server is accessible from Pi network
# Check if web container is running
docker ps | grep fleet-web
# Check web logs
docker logs fleet-web
# Rebuild if needed
cd web && npm install && npm run devYou now have:
- β Complete fleetd platform running locally
- β SD cards provisioned with fleetd agent + k3s
- β Automatic device discovery and registration
- β Real-time telemetry and monitoring
- β k3s cluster ready for deployments
- Deploy your first application to k3s
- Set up monitoring dashboards in Grafana
- Configure alerts for device health
- Explore the Fleet API for automation
For more details, see the full documentation.