README.md

May 5, 2026 · View on GitHub

Blorp logo


Web App · Report Bug · Request Feature · Releases

        

matrix chat


              


🚀 Download

🧪 Beta Testing

❤️ Friends of Blorp

UrlLemmyPieFedVersion
blorp.lemmy.worldVersion
blorp.piefed.worldVersion
blorp.lemmy.zipVersion
blorp.piefed.zipVersion
b.feddit.ukVersion
blorp.europe.pubVersion
b.lemmy.nzVersion
b.lazysoci.alVersion
blorp.blahaj.zoneVersion
blorp.lemmy.caVersion
blorp.piefed.caVersion
b.lemmy.ptVersion
b.piefed.socialVersion
blorp.feddit.inVersion
blorp.piefeed.comVersion

🛠 Development

Prerequisites

Node.js + pnpm — Node.js 20+ recommended. pnpm is managed via corepack (bundled with Node.js):

corepack enable
pnpm install
git config blame.ignoreRevsFile .git-blame-ignore-revs

iOS (macOS only) — CocoaPods is managed via Bundler so the version is pinned:

bundle install          # installs CocoaPods + Fastlane from Gemfile
bundle exec pod install --repo-update
open ios/App/App.xcworkspace   # always open .xcworkspace, not .xcodeproj

Ruby 3.3 is required. If you have multiple Ruby versions, make sure ruby --version reports 3.3.x before running bundle install. With Homebrew: brew install ruby@3.3 and follow the PATH instructions it prints.

Common commands

CommandPurpose
pnpm devStart Vite dev server
pnpm buildProduction build (Vite + Capacitor sync)
pnpm testRun Vitest unit tests
pnpm test:tsTypeScript type check
pnpm lintLint via ESLint
pnpm test:e2ePlaywright E2E tests (run pnpm build first)
pnpm storybookComponent Storybook

🐳 Self host via Docker

Recommended: use the Blorp deployment configuration tool

# pull the latest Blorp image
docker pull ghcr.io/blorp-labs/blorp:latest

# run it on port 8080 (host → container), passing any runtime env‑vars you need
docker run -d \
  --name blorp \
  -p 8080:80 \
  -e REACT_APP_NAME="Blorp" \
  -e REACT_APP_DEFAULT_INSTANCE="https://lemmy.world,https://piefed.zip" \
  -e REACT_APP_LOCK_TO_DEFAULT_INSTANCE="1" \
  -e REACT_APP_INSTANCE_SELECTION_MODE="default_first"
  ghcr.io/blorp-labs/blorp:latest

Environment variables

VariableDescription
REACT_APP_NAMEApp name shown in the UI
REACT_APP_DEFAULT_INSTANCEComma-separated list of default Lemmy/PieFed instances
REACT_APP_LOCK_TO_DEFAULT_INSTANCESet to 1 to prevent users from adding other instances
REACT_APP_INSTANCE_SELECTION_MODEHow to pick the default instance (default_first, default_random)
REACT_APP_CONTENT_WARNINGWhen set, logged-out users must accept this content warning before browsing
REACT_APP_DEFAULT_LIGHT_THEMEDefault light theme for new users (default-light, dracula-light, web-1.0-light)
REACT_APP_DEFAULT_DARK_THEMEDefault dark theme for new users (default-dark, dracula-dark, web-1.0-dark)

💬 Blorp Community

Want to ask questions, share feedback, or just chat with other Blorp users? Head over to our community at
lemmy.zip/c/blorp.

❤️ Special thanks to

  • Lay for designing the logo and banner art.
  • The PieFed team for their support and quickly resolving any and all feedback I brought them.

📚 Stack

  • React – The library for web and native user interfaces
  • Ionic/Capacitor – An open source UI toolkit for building performant, high-quality mobile apps using web technologies
  • Tauri – Create small, fast, secure, cross-platform applications
  • Vite – Next Generation Frontend Tooling
  • Zustand – Bear necessities for state management in React
  • TanStack Query – Powerful asynchronous state management for TS/JS, React, Solid, Vue, Svelte and Angular
  • TanStack Virtual – Headless UI for Virtualizing Large Element Lists

📄 License