smu

Home lab Swiss knife written in Go — one binary, no dependencies.

v0.9.5
Install Commands Downloads

Install

Pick your platform. Every download is verified against its SHA256 checksum.

Homebrew

Linux 64bit (AMD + ARM) and macOS 64bit (ARM only). Homebrew is a package manager for macOS and Linux.

brew install musil/tap/smu

Linux 64bit

Manual installation into /usr/local/bin.

wget https://smu.dc5.eu/dist/smu_latest_linux_amd64.tar.gz
wget https://smu.dc5.eu/dist/smu_latest_linux_amd64.tar.gz.sha256 -O smu_latest_linux_amd64.tar.gz.sha256
    if sha256sum -c smu_latest_linux_amd64.tar.gz.sha256; then
        echo -e "\e[32m SHA256sum OK\e[0m"  # Print "OK" in green color
        tar -xvzf smu_latest_linux_amd64.tar.gz
        rm -f README.md
        rm -f smu_latest_linux_amd64.tar.gz
        sudo /bin/mv -f smu /usr/local/bin/
    else
        echo -e "\e[31m SHA256sum FAIL\e[0m"  # Print "FAIL" in red color
        rm -f smu_latest_linux_amd64.tar.gz
        rm -f smu_latest_linux_amd64.tar.gz.sha256
    fi

Windows 64bit

Run in PowerShell.

Invoke-WebRequest -Uri "https://smu.dc5.eu/dist/smu_windows_amd64/smu" -OutFile ".\smu.exe" -UseBasicParsing
Invoke-WebRequest -Uri "https://smu.dc5.eu/dist/smu_windows_amd64/smu.sha256" -OutFile ".\smu.sha256" -UseBasicParsing
$hashFilePath = Join-Path (Split-Path $filePath) "$($filePath | Split-Path -Leaf)sha256"
$filePath = ".\smu.exe"
$expectedHash = (Get-Content $hashFilePath).Substring(0,64)

$actualHash = Get-FileHash -Path $filePath -Algorithm SHA256 | Select-Object -ExpandProperty Hash

if ($actualHash -eq $expectedHash) {
    Write-Host "Hashes match. File is valid."
} else {
    Write-Host "Hashes do not match. File may be corrupt."
}

macOS ARM 64bit

Manual download of the darwin/arm64 build.

Invoke-WebRequest -Uri "https://smu.dc5.eu/dist/smu_darwin_arm64/smu" -OutFile ".\smu.exe" -UseBasicParsing
Invoke-WebRequest -Uri "https://smu.dc5.eu/dist/smu_darwin_arm64/smu.sha256" -OutFile ".\smu.sha256" -UseBasicParsing
$hashFilePath = Join-Path (Split-Path $filePath) "$($filePath | Split-Path -Leaf)sha256"
$filePath = ".\smu.exe"
$expectedHash = (Get-Content $hashFilePath).Substring(0,64)

$actualHash = Get-FileHash -Path $filePath -Algorithm SHA256 | Select-Object -ExpandProperty Hash

if ($actualHash -eq $expectedHash) {
    Write-Host "Hashes match. File is valid."
} else {
    Write-Host "Hashes do not match. File may be corrupt."
}

Commands

Run smu help for the full tree, or smu <command> --help for details.

  • smu s3 Upload files to S3, MinIO or any S3 gateway
  • smu git Repository helpers, commit and URL tools
  • smu k8s Kubeconfig and cluster utilities
  • smu argocd Read the ArgoCD initial password
  • smu random Random strings, passwords and integers
  • smu ssh Generate SSH keypairs
  • smu backup Install the backup script
  • smu www Deploy a site to a web host
  • smu download Download predefined files and ISO images
  • smu ip Show your current public IP address
  • smu df Human readable df, /dev devices only
  • smu version Print the installed version

Downloads

Current release v0.9.5, built for Linux, macOS and Windows.

File Size
CHANGELOG.md 0.00 MB
CHANGELOG.md.sha256 0.00 MB
artifacts.json 0.00 MB
smu_checksums.txt 0.00 MB
smu_darwin_amd64_v1/smu 44.06 MB
smu_darwin_amd64_v1/smu.sha256 0.00 MB
smu_darwin_arm64_v8.0/smu 41.06 MB
smu_darwin_arm64_v8.0/smu.sha256 0.00 MB
smu_latest_darwin_arm64.tar.gz 12.50 MB
smu_latest_darwin_arm64.tar.gz.sha256 0.00 MB
smu_latest_linux_amd64.tar.gz 13.47 MB
smu_latest_linux_amd64.tar.gz.sha256 0.00 MB
smu_latest_linux_arm64.tar.gz 11.91 MB
smu_latest_linux_arm64.tar.gz.sha256 0.00 MB
smu_latest_windows_amd64.tar.gz 13.87 MB
smu_latest_windows_amd64.tar.gz.sha256 0.00 MB
smu_linux_386_sse2/smu 41.48 MB
smu_linux_386_sse2/smu.sha256 0.00 MB
smu_linux_amd64_v1/smu 43.13 MB
smu_linux_amd64_v1/smu.sha256 0.00 MB
smu_linux_arm64_v8.0/smu 39.88 MB
smu_linux_arm64_v8.0/smu.sha256 0.00 MB
smu_linux_arm_7/smu 41.00 MB
smu_linux_arm_7/smu.sha256 0.00 MB
smu_v0.6.3_darwin_amd64.tar.gz 10.27 MB
smu_v0.6.3_darwin_amd64.tar.gz.sha256 0.00 MB
smu_v0.6.3_darwin_arm64.tar.gz 9.48 MB
smu_v0.6.3_darwin_arm64.tar.gz.sha256 0.00 MB
smu_v0.6.3_linux_386.tar.gz 9.40 MB
smu_v0.6.3_linux_386.tar.gz.sha256 0.00 MB
smu_v0.6.3_linux_amd64.tar.gz 10.11 MB
smu_v0.6.3_linux_amd64.tar.gz.sha256 0.00 MB
smu_v0.6.3_linux_arm.tar.gz 9.47 MB
smu_v0.6.3_linux_arm.tar.gz.sha256 0.00 MB
smu_v0.6.3_linux_arm64.tar.gz 9.07 MB
smu_v0.6.3_linux_arm64.tar.gz.sha256 0.00 MB
smu_v0.6.3_windows_386.tar.gz 9.89 MB
smu_v0.6.3_windows_386.tar.gz.sha256 0.00 MB
smu_v0.6.3_windows_amd64.tar.gz 10.39 MB
smu_v0.6.3_windows_amd64.tar.gz.sha256 0.00 MB
smu_v0.7.0_darwin_amd64.tar.gz 10.32 MB
smu_v0.7.0_darwin_amd64.tar.gz.sha256 0.00 MB
smu_v0.7.0_darwin_arm64.tar.gz 9.40 MB
smu_v0.7.0_darwin_arm64.tar.gz.sha256 0.00 MB
smu_v0.7.0_linux_386.tar.gz 9.47 MB
smu_v0.7.0_linux_386.tar.gz.sha256 0.00 MB
smu_v0.7.0_linux_amd64.tar.gz 10.18 MB
smu_v0.7.0_linux_amd64.tar.gz.sha256 0.00 MB
smu_v0.7.0_linux_arm.tar.gz 9.56 MB
smu_v0.7.0_linux_arm.tar.gz.sha256 0.00 MB
smu_v0.7.0_linux_arm64.tar.gz 9.02 MB
smu_v0.7.0_linux_arm64.tar.gz.sha256 0.00 MB
smu_v0.7.0_windows_386.tar.gz 9.95 MB
smu_v0.7.0_windows_386.tar.gz.sha256 0.00 MB
smu_v0.7.0_windows_amd64.tar.gz 10.46 MB
smu_v0.7.0_windows_amd64.tar.gz.sha256 0.00 MB
smu_v0.7.2_darwin_amd64.tar.gz 10.53 MB
smu_v0.7.2_darwin_amd64.tar.gz.sha256 0.00 MB
smu_v0.7.2_darwin_arm64.tar.gz 9.56 MB
smu_v0.7.2_darwin_arm64.tar.gz.sha256 0.00 MB
smu_v0.7.2_linux_386.tar.gz 9.68 MB
smu_v0.7.2_linux_386.tar.gz.sha256 0.00 MB
smu_v0.7.2_linux_amd64.tar.gz 10.37 MB
smu_v0.7.2_linux_amd64.tar.gz.sha256 0.00 MB
smu_v0.7.2_linux_arm.tar.gz 9.77 MB
smu_v0.7.2_linux_arm.tar.gz.sha256 0.00 MB
smu_v0.7.2_linux_arm64.tar.gz 9.16 MB
smu_v0.7.2_linux_arm64.tar.gz.sha256 0.00 MB
smu_v0.7.2_windows_386.tar.gz 10.20 MB
smu_v0.7.2_windows_386.tar.gz.sha256 0.00 MB
smu_v0.7.2_windows_amd64.tar.gz 10.66 MB
smu_v0.7.2_windows_amd64.tar.gz.sha256 0.00 MB
smu_v0.8.0_darwin_amd64.tar.gz 10.77 MB
smu_v0.8.0_darwin_amd64.tar.gz.sha256 0.00 MB
smu_v0.8.0_darwin_arm64.tar.gz 9.78 MB
smu_v0.8.0_darwin_arm64.tar.gz.sha256 0.00 MB
smu_v0.8.0_linux_386.tar.gz 9.89 MB
smu_v0.8.0_linux_386.tar.gz.sha256 0.00 MB
smu_v0.8.0_linux_amd64.tar.gz 10.61 MB
smu_v0.8.0_linux_amd64.tar.gz.sha256 0.00 MB
smu_v0.8.0_linux_arm.tar.gz 9.99 MB
smu_v0.8.0_linux_arm.tar.gz.sha256 0.00 MB
smu_v0.8.0_linux_arm64.tar.gz 9.38 MB
smu_v0.8.0_linux_arm64.tar.gz.sha256 0.00 MB
smu_v0.8.0_windows_386.tar.gz 10.43 MB
smu_v0.8.0_windows_386.tar.gz.sha256 0.00 MB
smu_v0.8.0_windows_amd64.tar.gz 10.90 MB
smu_v0.8.0_windows_amd64.tar.gz.sha256 0.00 MB
smu_v0.9.5_darwin_amd64.tar.gz 13.74 MB
smu_v0.9.5_darwin_amd64.tar.gz.sha256 0.00 MB
smu_v0.9.5_darwin_arm64.tar.gz 12.50 MB
smu_v0.9.5_darwin_arm64.tar.gz.sha256 0.00 MB
smu_v0.9.5_linux_386.tar.gz 12.49 MB
smu_v0.9.5_linux_386.tar.gz.sha256 0.00 MB
smu_v0.9.5_linux_amd64.tar.gz 13.47 MB
smu_v0.9.5_linux_amd64.tar.gz.sha256 0.00 MB
smu_v0.9.5_linux_arm.tar.gz 12.61 MB
smu_v0.9.5_linux_arm.tar.gz.sha256 0.00 MB
smu_v0.9.5_linux_arm64.tar.gz 11.91 MB
smu_v0.9.5_linux_arm64.tar.gz.sha256 0.00 MB
smu_v0.9.5_windows_386.tar.gz 13.21 MB
smu_v0.9.5_windows_386.tar.gz.sha256 0.00 MB
smu_v0.9.5_windows_amd64.tar.gz 13.87 MB
smu_v0.9.5_windows_amd64.tar.gz.sha256 0.00 MB
smu_windows_386_sse2/smu.exe 42.69 MB
smu_windows_386_sse2/smu.exe.sha256 0.00 MB
smu_windows_amd64_v1/smu.exe 44.26 MB
smu_windows_amd64_v1/smu.exe.sha256 0.00 MB