An open source hardware monitoring agent
Capture is a hardware monitoring agent that collects hardware information from the host machine and exposes it through a RESTful API. The agent is designed to be lightweight and easy to use.
- Features
- Quick Start (Docker)
- Quick Start (Docker Compose)
- Configuration
- Installation Options
- System Installation
- Reverse Proxy and SSL
- API Documentation
- Contributing
- Star History
- License
- CPU Monitoring
- Temperature
- Load
- Frequency
- Usage
- Memory Monitoring
- Disk Monitoring
- Usage
- Inode Usage
- Read/Write Bytes
- S.M.A.R.T. Monitoring (Self-Monitoring, Analysis and Reporting Technology)
- Network Monitoring
- Docker Container Monitoring
- GPU Monitoring (coming soon)
docker run -d \
-v /etc/os-release:/etc/os-release:ro \
-p 59232:59232 \
-e API_SECRET=your-secret-key \
ghcr.io/bluewave-labs/capture:latest
services:
# Capture service
capture:
image: ghcr.io/bluewave-labs/capture:latest
container_name: capture
restart: unless-stopped
ports:
- "59232:59232"
environment:
- API_SECRET=REPLACE_WITH_YOUR_SECRET # Required authentication key. Do not forget to replace this with your actual secret key.
- GIN_MODE=release
volumes:
- /etc/os-release:/etc/os-release:ro
Variable | Description | Default | Required |
---|---|---|---|
API_SECRET |
Authentication key (Must match the secret you enter on Checkmate) | - | Yes |
PORT |
Server port number | 59232 | No |
GIN_MODE |
Gin(web framework) mode. Debug is for development | release | No |
Example configurations:
# Minimal
API_SECRET=your-secret-key ./capture
# Complete
API_SECRET=your-secret-key PORT=59232 GIN_MODE=release ./capture
Pull and run the official image:
docker run -d \
-v /etc/os-release:/etc/os-release:ro \
-p 59232:59232 \
-e API_SECRET=your-secret-key \
ghcr.io/bluewave-labs/capture:latest
Or build locally:
docker buildx build -t capture .
docker run -d -v /etc/os-release:/etc/os-release:ro -p 59232:59232 -e API_SECRET=your-secret-key capture
Docker options explained:
-v /etc/os-release:/etc/os-release:ro
: Platform detection-p 59232:59232
: Port mapping-e API_SECRET
: Required authentication key-d
: Detached mode
Choose one of these methods:
-
Pre-built Binaries: Download from GitHub Releases
-
Go Package:
go install github.com/bluewave-labs/capture/cmd/capture@latest
-
Build from Source:
git clone git@github.com:bluewave-labs/capture cd capture just build # or: go build -o dist/capture ./cmd/capture/
You can use a reverse proxy in front of the Capture service to handle HTTPS requests and SSL termination.
├deployment/reverse-proxy-compose/
├── caddy/
│ └── Caddyfile
└── caddy.compose.yml
-
Go to the
deployment/reverse-proxy-compose
directorycd deployment/reverse-proxy-compose
-
Replace
replacewithyourdomain.com
with your actual domain in deployment/reverse-proxy-compose/caddy/Caddyfile -
Set
API_SECRET
environment variable for the Capture service in deployment/reverse-proxy-compose/caddy.compose.yml. -
Ensure your domain’s DNS A/AAAA records point to this server’s IP.
-
Open inbound TCP ports 80 and 443 on your firewall/security group.
Start the Caddy reverse proxy
docker compose -f caddy.compose.yml up -d
Our API is documented in accordance with the OpenAPI spec.
You can find the OpenAPI specifications here
We welcome contributions! If you would like to contribute, please read the CONTRIBUTING.md file for more information.
Capture is licensed under AGPLv3. You can find the license here