PinMe Deployment Pipeline
Overview
PinMe is a zero-config deployment platform: static files go to IPFS, full-stack apps get frontend (SPA) + backend (Edge Runtime) + database (Serverless SQL) in one command. It also offers a Skill for AI agents (Claude Code, etc.) to auto-deploy.
Prerequisites
npm install -g pinme
Installed at: /opt/homebrew/lib/node_modules/pinme/ (macOS ARM) or /usr/local/lib/node_modules/pinme/ (Intel).
Authentication (REQUIRED)
There is NO anonymous upload path. All uploads require auth. Two options:
Option A: Browser OAuth
pinme login
- Opens browser, starts local callback server on port 34567
- Requires phone number + SMS verification code
- Saves auth to
~/.pinme/auth.jsonwith{address, token}
Option B: AppKey (no browser needed)
pinme set-appkey
- Get AppKey from https://pinme.dev → 应用控制台 → API Keys
- Paste when prompted
- This is the preferred method for headless/CI environments
Verify auth: pinme show-appkey or pinme wallet
Static File Deployment
# Upload a single file
pinme upload index.html
# Upload a directory
pinme upload dist/
# Upload with custom domain binding
pinme upload dist/ --domain my-site
Returns: IPFS CID + public URL (e.g., https://<cid>.pinme.dev/)
File limits: 500 MB per file, 500 MB per directory.
Full-Stack Project Deployment
# Create from template
pinme create my-app
cd my-app
# Edit code...
# Deploy (frontend + backend + database)
pinme save
Architecture: Frontend → IPFS, Backend → Edge Runtime, Database → Serverless SQL.
API Endpoints
| Endpoint | Purpose |
|---|---|
https://pinme.dev/api/v3 |
IPFS upload API (chunk/init, chunk/upload) |
https://pinme.dev/api/v4 |
Platform API |
Auth headers: token-address + authentication-tokens.
Integration with Hermes
Status: ✅ Pipeline verified (2026-05-22)
Auth obtained from Mac Mini (~/.pinme/auth.json), synced to Hermes. Upload tested with /tmp/pinme-test/index.html → public URL confirmed working (HTTP 200).
Ideal flow:
Generate HTML (PPT skill, dashboard skill) → pinme upload <file_or_dir>/ → return public URL
The URL format is https://<cid>.pinme.dev/ — stable and permanent (IPFS-based).
For the PinMe Skill (AI agent auto-deploy):
npx skills add glitternetwork/pinme
Pitfalls
- No anonymous upload: Every upload path (CLI, API, web drag-drop) requires auth. Plan for account setup first.
- Browser OAuth is fragile in headless environments: The
pinme loginflow requires a browser with a local callback server on port 34567. Usepinme set-appkeyinstead for CI/headless. - Port 34567 conflict: If a previous login attempt left a zombie process,
pinme loginwill fail with EADDRINUSE. Kill withlsof -ti:34567 | xargs kill -9. - Auth file location:
~/.pinme/auth.json— not profile-aware. If using multiple Hermes profiles, each needs its own auth. - Website login requires Chinese phone number: The pinme.dev login dialog only shows phone + MetaMask options.