Add RPi install docs, GHCR support, push-docker-all script
All checks were successful
CI / test (push) Successful in 2m10s
All checks were successful
CI / test (push) Successful in 2m10s
- README: Raspberry Pi install section with auto-detect architecture - README: pre-built binary download section for all platforms - Docker docs: dual registry (Gitea + GHCR) - scripts/push-docker-all.sh: push to both registries in one command Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
47
README.md
47
README.md
@@ -42,14 +42,51 @@ On wired gigabit links, expect line-rate performance in both TCP and UDP modes.
|
||||
cargo install --path .
|
||||
```
|
||||
|
||||
### Pre-built binary (Linux x86_64)
|
||||
### Pre-built binaries
|
||||
|
||||
Download from [releases](https://git.manko.yoga/manawenuz/btest-rs/releases) or [GitHub releases](https://github.com/manawenuz/btest-rs/releases):
|
||||
|
||||
```bash
|
||||
# Cross-compile from macOS (requires Docker)
|
||||
scripts/build-linux.sh
|
||||
# Linux x86_64
|
||||
curl -L <release-url>/btest-linux-x86_64.tar.gz | tar xz
|
||||
sudo mv btest /usr/local/bin/
|
||||
|
||||
# Copy to server
|
||||
scp dist/btest root@yourserver:/usr/local/bin/btest
|
||||
# Raspberry Pi 4/5 (64-bit OS)
|
||||
curl -L <release-url>/btest-linux-aarch64.tar.gz | tar xz
|
||||
sudo mv btest /usr/local/bin/
|
||||
|
||||
# Raspberry Pi 3/Zero 2 (32-bit OS)
|
||||
curl -L <release-url>/btest-linux-armv7.tar.gz | tar xz
|
||||
sudo mv btest /usr/local/bin/
|
||||
|
||||
# Windows
|
||||
# Download btest-windows-x86_64.zip from releases
|
||||
```
|
||||
|
||||
### Raspberry Pi
|
||||
|
||||
The static musl binaries run on any Raspberry Pi without dependencies:
|
||||
|
||||
```bash
|
||||
# On the Pi — detect architecture and install
|
||||
ARCH=$(uname -m)
|
||||
case $ARCH in
|
||||
aarch64) FILE=btest-linux-aarch64.tar.gz ;;
|
||||
armv7l) FILE=btest-linux-armv7.tar.gz ;;
|
||||
*) echo "Unsupported: $ARCH"; exit 1 ;;
|
||||
esac
|
||||
|
||||
curl -LO "https://github.com/manawenuz/btest-rs/releases/latest/download/$FILE"
|
||||
tar xzf "$FILE"
|
||||
sudo mv btest /usr/local/bin/
|
||||
rm "$FILE"
|
||||
|
||||
# Run as server
|
||||
btest -s -a admin -p password --ecsrp5
|
||||
|
||||
# Or install as systemd service
|
||||
curl -LO https://raw.githubusercontent.com/manawenuz/btest-rs/main/scripts/install-service.sh
|
||||
sudo bash install-service.sh --auth-user admin --auth-pass password
|
||||
```
|
||||
|
||||
### Docker
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
# Docker and Deployment Guide
|
||||
|
||||
## Container Registry
|
||||
## Container Registries
|
||||
|
||||
Images are published to:
|
||||
|
||||
```
|
||||
git.manko.yoga/manawenuz/btest-rs
|
||||
git.manko.yoga/manawenuz/btest-rs # Gitea registry
|
||||
ghcr.io/manawenuz/btest-rs # GitHub Container Registry
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
50
scripts/push-docker-all.sh
Executable file
50
scripts/push-docker-all.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
# Build and push Docker image to both Gitea and GitHub Container Registry.
|
||||
#
|
||||
# Prerequisites:
|
||||
# docker login git.manko.yoga (Gitea — your username + token)
|
||||
# docker login ghcr.io (GitHub — your username + PAT with packages:write)
|
||||
#
|
||||
# Usage:
|
||||
# ./scripts/push-docker-all.sh v0.6.0
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
if [[ -f .env ]]; then
|
||||
set -a; source .env; set +a
|
||||
fi
|
||||
|
||||
TAG="${1:?Usage: $0 <tag> (e.g. v0.6.0)}"
|
||||
|
||||
GITEA_IMAGE="git.manko.yoga/manawenuz/btest-rs"
|
||||
GHCR_IMAGE="ghcr.io/manawenuz/btest-rs"
|
||||
|
||||
echo "=== Building Docker image ==="
|
||||
docker build \
|
||||
-t "${GITEA_IMAGE}:${TAG}" \
|
||||
-t "${GITEA_IMAGE}:latest" \
|
||||
-t "${GHCR_IMAGE}:${TAG}" \
|
||||
-t "${GHCR_IMAGE}:latest" \
|
||||
.
|
||||
|
||||
echo ""
|
||||
echo "=== Pushing to Gitea ==="
|
||||
docker push "${GITEA_IMAGE}:${TAG}"
|
||||
docker push "${GITEA_IMAGE}:latest"
|
||||
|
||||
echo ""
|
||||
echo "=== Pushing to GitHub Container Registry ==="
|
||||
docker push "${GHCR_IMAGE}:${TAG}"
|
||||
docker push "${GHCR_IMAGE}:latest"
|
||||
|
||||
echo ""
|
||||
echo "Done! Images pushed:"
|
||||
echo " ${GITEA_IMAGE}:${TAG}"
|
||||
echo " ${GITEA_IMAGE}:latest"
|
||||
echo " ${GHCR_IMAGE}:${TAG}"
|
||||
echo " ${GHCR_IMAGE}:latest"
|
||||
echo ""
|
||||
echo "Pull with:"
|
||||
echo " docker pull ${GHCR_IMAGE}:${TAG}"
|
||||
echo " docker run --rm -p 2000:2000 -p 2001-2100:2001-2100/udp ${GHCR_IMAGE}:${TAG} -s -v"
|
||||
Reference in New Issue
Block a user