Get WaddlePerf up and running in minutes with multiple installation options
| Component | Requirements |
|---|---|
| Operating System | Linux (Ubuntu 20.04+, Debian 11+, RHEL 8+), Windows 10/11, macOS 10.15+ |
| Memory | Minimum 512MB RAM (1GB+ recommended) |
| Disk Space | 100MB for client, 500MB for server |
| Network | Outbound connectivity to target servers |
| Software | Python 3.9+ or Go 1.21+ (for building from source) |
Important: Ensure the following ports are accessible:
The fastest way to get started with WaddlePerf is using Docker containers.
# Clone the repositorygit clone https://github.com/penguintechinc/WaddlePerf.gitcd WaddlePerf# Start all servicesdocker-compose up -d# Check statusdocker-compose ps# View logsdocker-compose logs -f
docker run -d \--name waddleperf-client \-p 8080:8080 \-e TARGET_SERVER=your-server-address \ghcr.io/penguincloud/waddleperf-client:latest
docker run -d \--name waddleperf-server \-p 80:80 -p 443:443 -p 5201:5201 -p 2000:2000/udp \ghcr.io/penguincloud/waddleperf-server:latest
Pro Tip: Docker installation handles all dependencies automatically and provides consistent environments across platforms.
Download pre-built binaries for your platform from GitHub Releases
wget https://github.com/penguintechinc/WaddlePerf/releases/latest/download/waddleperf-linux-amd64.tar.gztar xzf waddleperf-linux-amd64.tar.gzsudo mv waddleperf /usr/local/bin/sudo chmod +x /usr/local/bin/waddleperf
wget https://github.com/penguintechinc/WaddlePerf/releases/latest/download/waddleperf-linux-arm64.tar.gztar xzf waddleperf-linux-arm64.tar.gzsudo mv waddleperf /usr/local/bin/sudo chmod +x /usr/local/bin/waddleperf
wget https://github.com/penguintechinc/WaddlePerf/releases/latest/download/waddleperf-macos-universal.tar.gztar xzf waddleperf-macos-universal.tar.gzsudo mv waddleperf /usr/local/bin/sudo chmod +x /usr/local/bin/waddleperf
Download and extract the appropriate ZIP file:
waddleperf-windows-amd64.zip for 64-bit systemswaddleperf-windows-arm64.zip for ARM systemsAdd the extracted directory to your PATH environment variable.
Build WaddlePerf from source for custom configurations or development.
# Install build dependenciessudo apt-get updatesudo apt-get install -y build-essential git golang-go# For system tray supportsudo apt-get install -y libayatana-appindicator3-dev libgtk-3-dev
# Install Xcode Command Line Toolsxcode-select --install# Install Homebrew if not present/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# Install Gobrew install go
# Clone repositorygit clone https://github.com/penguintechinc/WaddlePerf.gitcd WaddlePerf/go-client# Install dependenciesgo mod download# Build with system tray supportgo build -o waddleperf ./cmd/waddleperf# Build without system tray (no GTK dependencies)go build -tags nosystray -o waddleperf ./cmd/waddleperf# Install to systemsudo mv waddleperf /usr/local/bin/
Quick installation scripts for minimal setup.
curl -sSL https://raw.githubusercontent.com/penguintechinc/WaddlePerf/main/client/thin-installers/debian-thininstall.sh | bash
Invoke-WebRequest -Uri https://raw.githubusercontent.com/penguintechinc/WaddlePerf/main/client/thin-installers/windows-thininstall.ps -OutFile install.ps1./install.ps1
export WADDLEPERF_SERVER=server.example.com:8080export WADDLEPERF_LOG_LEVEL=infoexport WADDLEPERF_INTERVAL=3600export WADDLEPERF_AUTOSTART=true
export LISTEN_PORT=80export SSL_PORT=443export IPERF_PORT=5201export UDP_PORT=2000export ENABLE_GEOIP=true
server: server.example.com:8080interval: 3600autostart: truelog-file: /var/log/waddleperf.logverbose: false
TARGET_SERVER: server.example.comTEST_INTERVAL: 3600S3_BUCKET: waddleperf-resultsS3_ENDPOINT: s3.amazonaws.com
Verify your installation is working correctly.
# Go Clientwaddleperf infowaddleperf run -s server.example.com# Dockerdocker exec waddleperf-client python3 /app/bins/getSysInfo.py# Check logsdocker logs waddleperf-clientdocker logs waddleperf-server
http://server-ip/healthiperf3 -c server-ip -p 5201# Fix permissionssudo chown -R $(whoami):$(whoami) /opt/waddleperfchmod +x /usr/local/bin/waddleperf
# Check what's using the portsudo lsof -i :8080sudo netstat -tulpn | grep 8080# Kill the process or change portdocker run -p 8081:8080 ...
# Install required librariessudo apt-get install libayatana-appindicator3-dev libgtk-3-dev# Or build without system traygo build -tags nosystray -o waddleperf ./cmd/waddleperf
# Create virtual environmentpython3 -m venv venvsource venv/bin/activate# Install requirementspip install -r requirements.txt