Skip to content

koshi v3.0.0 — Serverless P2P Mesh

Choose a tag to compare

@ryotagtagtag-wq ryotagtagtag-wq released this 14 Oct 20:52
· 116 commits to main since this release
8b59fdd

koshi v3.0.0 — Serverless P2P Mesh 🎉

Zero-setup decentralized SNS. Koshi v3.0 makes it effortless to run a full P2P social node — just pull a Docker image, no database or server configuration required.

🚀 Highlights

  • Serverless P2P Mesh (Default): SQLite + hypercore/hyperswarm for peer-to-peer sync — no PostgreSQL needed
  • kb serve: Start a local serverless node (REST API + WebSocket + Web UI + P2P mesh)
  • kb connect <url>: Connect CLI to a remote server; --reset returns to serverless mode
  • Docker Multi-Arch: Pre-built images for linux/amd64 and linux/arm64 (Docker Hub / GHCR)
  • CLI Bilingual: English/Japanese support via KOSHI_LANG=ja|en env var
  • Quiet Logs: LOG_LEVEL=warn by default in serverless mode — only warnings/errors shown

🐳 Quick Start (Docker)

docker run -d -p 3000:3000 \
  -v $HOME/.config/koshi:/home/koshi/.config/koshi \
  ghcr.io/ryopc/koshi:standalone-v3.0.0

# Then open http://localhost:3000

📚 Documentation

  • Full English documentation at docs/docs/index.html
  • Updated CLI reference with kb serve, kb connect, kb p2p, kb nostr commands
  • Project structure updated to reflect serverless architecture (src/local/, src/p2p/, src/nostr/)

🔧 Docker Images

Image Architecture Use Case External DB
ghcr.io/ryopc/koshi:standalone-v3.0.0 amd64, arm64 Personal / Serverless (Recommended) No (SQLite)
ghcr.io/ryopc/koshi:runner-v3.0.0 amd64, arm64 Production Server Yes (PostgreSQL)

📦 CLI

npm install -g @ryopc/koshi

# Default language is auto-detected (English / Japanese)
KOSHI_LANG=en kb serve          # Start local serverless node (English)
KOSHI_LANG=ja kb serve          # Start local serverless node (Japanese)
kb connect https://example.com  # Connect to remote server

🌍 CLI Language

# Set language globally
export KOSHI_LANG=en  # English
export KOSHI_LANG=ja  # Japanese

# Or use system locale (auto-detected from $LANG)

🐛 Bug Fixes & Improvements

  • Fixed version display in bin/server.js (was v1.1.1, now v3.0.0)
  • Web UI api.js now dynamically reads config.serverUrl via /api/config
  • Suppressed verbose pino debug logs in serverless mode (LOG_LEVEL=warn)
  • .dockerignore corrected to include web/ build output
  • Dockerfile sets LOG_LEVEL=warn for clean container logs

📊 Stats

  • CLI Commands: 24
  • API Endpoints: 32
  • Protocols: REST, WebSocket, P2P (hypercore/hyperswarm), Nostr

Full Changelog: https://github.com/ryopc/koshi/releases/tag/v3.0.0