Skip to content
Pinner.xyz

Getting Started with the CLI

Install the Pinner CLI, walk through the setup wizard, and confirm everything works.

If you just want to pin a file right now, see Quickstart.

Install

curl -fsSL https://get.pinner.xyz | sh

The installer detects your package manager and uses it automatically. On macOS it prefers Homebrew; on Linux it tries dpkg then rpm before falling back to a binary download. On Windows it tries winget, then Scoop, then falls back to a binary download. All methods verify SHA256 checksums.

Other install methods

The universal installer handles most cases. Use these when you need more control.

MethodCommand
Homebrewbrew install lumeweb/tap/pinner
wingetwinget install Pinner.Cli
Scoopscoop bucket add lumeweb https://github.com/LumeWeb/scoop-bucket then scoop install pinner
Debian/Ubuntusudo dpkg -i pinner-cli_VERSION_linux_amd64.deb
Fedora/RHELsudo rpm -i pinner-cli_VERSION_linux_amd64.rpm
Gogo install go.lumeweb.com/pinner-cli/cmd/pinner@latest
BinaryDownload from GitHub Releases
Installer flags

macOS / Linux (install.sh):

FlagDescription
--systemInstall to /usr/local/bin (requires sudo if not writable)
--bin-dir DIRInstall to a custom directory
--arch ARCHOverride detected architecture (amd64 or arm64)
--no-pkgSkip package manager detection, use binary install
--uninstallRemove the Pinner CLI
--debugEnable verbose output

Windows (install.ps1):

FlagDescription
-SystemInstall to Program Files (requires admin)
-NoPkgSkip winget/scoop detection
-CIEnable CI mode (also activated by CI=true env var)
-UninstallRemove the Pinner CLI

Set up

After installing, run the setup wizard:

pinner setup

The wizard walks you through:

  • Authentication: log in or register
  • Configuration: set API endpoint, memory limits, and other options

If you've already authenticated or configured, the wizard detects that and skips the step.

Skip steps

# Skip authentication (already logged in)
pinner setup --skip-auth
 
# Skip configuration (already configured)
pinner setup --skip-config
 
# Reset everything and start fresh
pinner setup --reset

Non-interactive environments

For CI, Docker, or scripts, skip the wizard and use individual commands:

# Authenticate with a JWT token
pinner auth YOUR_TOKEN
 
# Or log in interactively
pinner auth --email you@example.com
 
# Configure
pinner config set memory_limit 256
pinner config set secure true

Verify

# Print version
pinner --version
 
# Display diagnostic information for troubleshooting
pinner doctor

If pinner doctor reports problems, see CLI Doctor for troubleshooting.

Next steps