Shipper
Shipper is a lightweight agent that reads log files from your application and sends them to Nadi.
Overview
Shipper is written in Go and designed to be:
- Lightweight - Minimal CPU and memory usage (~10MB RAM)
- Reliable - Automatic retries and delivery tracking
- Efficient - Batched requests and compression
- Simple - Easy to install and configure
How It Works
- Your application writes error events to log files
- Shipper monitors the log directory
- Shipper reads new events and sends them to Nadi
- Shipper tracks what's been sent (no duplicate delivery)
- Optionally cleans up old log files
Requirements
- Linux (x64, ARM64), macOS (x64, ARM64), or Windows (x64)
- Network access to nadi.pro
Quick Start
Install
bash
sudo bash < <(curl -sL https://raw.githubusercontent.com/nadi-pro/shipper/master/install)powershell
powershell -command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/nadi-pro/shipper/master/install.ps1', '%TEMP%\install.ps1') && %TEMP%\install.ps1 && del %TEMP%\install.ps1"Configure
Edit the configuration file:
| OS | Location |
|---|---|
| Linux | /opt/nadi-pro/shipper/nadi.yaml |
| macOS | /usr/local/nadi-pro/shipper/nadi.yaml |
| Windows | C:\ProgramData\Nadi-Pro\Shipper\nadi.yaml |
yaml
nadi:
endpoint: https://nadi.pro/api/
apiKey: your-api-key
token: your-application-key
storage: /var/log/nadiRun
bash
shipper --recordFeatures
| Feature | Description |
|---|---|
| File Watching | Monitors log directory for new files |
| Batching | Groups events for efficient network usage |
| Compression | Compresses payloads to reduce bandwidth |
| Retries | Automatic retry with exponential backoff |
| Progress Tracking | Knows what's been sent, survives restarts |
| Log Rotation | Optionally cleans up old logs |
Supported Platforms
| Platform | Architecture | Support |
|---|---|---|
| Linux | x64 | Full |
| Linux | ARM64 | Full |
| macOS | x64 (Intel) | Full |
| macOS | ARM64 (Apple Silicon) | Full |
| Windows | x64 | Full |
Next Steps
- Installation - Detailed installation guide
- Configuration - Configuration reference
- Deployment - Production deployment
- Troubleshooting - Common issues