selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

coracle logo

Self-host coracle

0.6.35

Nostr web client with relay management and web-of-trust

BetaOpen SourceMIT
Updated4 months ago
LanguageSvelte
Setup difficultyModerate
MobilePWA
ThemeDark mode
Stars
368
Port
80 (HTTP web server)
Install with Android

What is coracle?

Coracle is a feature-rich web client for the Nostr decentralized social protocol. It lets users choose and manage relays, uses web-of-trust scores for moderation and recommendations, and prioritizes privacy. The client implements many Nostr Improvement Proposals for profile search, encrypted DMs, communities, calendar events, classifieds, and Lightning zaps. It can be self-hosted via Docker with nginx serving static files, or run locally with pnpm. The UI works as a Progressive Web App and supports Android builds via Capacitor. Configuration uses VITE_* environment variables for white-labeling, relay defaults, upload providers, and platform settings.

Should you self-host coracle?

coracle scores 50/100 on selfhost.directory (how scoring works) and ranks #45 of 69 in Social Networks & Forums. It has 368 GitHub stars.

It shipped 8 stable releases in the past year. The latest, 0.6.35, came out on 16 June 2026. New versions land roughly every 2 weeks.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Svelte.

Its closest alternative on selfhost.directory is Discourse (83/100, 48 024 stars). It scores higher overall, so compare the two before you pick. See coracle vs Discourse side by side.

Features

  • Communities and groups
  • Content warnings and muting
  • Customizable Feeds
  • Direct Messages
  • Lightning Zaps
  • Media Uploads
  • Multi-Account Support
  • Nostr protocol support
  • Profile search
  • Progressive Web App
  • Relay selection and management
  • Web of trust moderation
  • White-labeling support

coracle README

How to install coracle

Install coracle with Android

Android build tools, Capacitor

pnpm run build:android --keystorepath --keystorepass --keystorealias --keystorealiaspass

Builds APK via Capacitor

How to configure coracle

  • VITE_APP_DESCRIPTIONThe app's description

    The app's description

  • VITE_APP_LOGOPath for the app's logo relative to public directory, starting with leading slash

    Path for the app's logo relative to public directory, starting with leading slash

  • VITE_APP_NAMEThe app's name

    The app's name

  • VITE_APP_URLThe app's URL for Open Graph meta tags

    The app's URL for Open Graph meta tags

  • VITE_APP_WORDMARK_DARKPath for the app's dark wordmark relative to public directory

    Path for the app's dark wordmark relative to public directory

  • VITE_APP_WORDMARK_LIGHTPath for the app's light wordmark relative to public directory

    Path for the app's light wordmark relative to public directory

  • VITE_BUILD_HASHSoftware version indicator on the about page

    Software version indicator on the about page

  • VITE_CLIENT_IDThe client's NIP 89 handler id (only change if forked)

    The client's NIP 89 handler id (only change if forked)

  • VITE_CLIENT_NAMEThe client's name (only change if forked)

    The client's name (only change if forked)

  • VITE_DARK_THEMEComma-separated list of key/value pairs defining dark theme colors

    Comma-separated list of key/value pairs defining dark theme colors

  • VITE_DEFAULT_FOLLOWSComma-separated list of hex pubkeys to fetch content from when the user isn't following anyone

    Comma-separated list of hex pubkeys to fetch content from when the user isn't following anyone

  • VITE_DEFAULT_RELAYSComma-separated list of relays to use as defaults/fallbacks

    Comma-separated list of relays to use as defaults/fallbacks

  • VITE_DUFFLEPUD_URLDufflepud instance URL for link previews and image uploads

    Dufflepud instance URL for link previews and image uploads

  • VITE_DVM_RELAYSComma-separated list of relays to use when making requests against DVMs

    Comma-separated list of relays to use when making requests against DVMs

  • VITE_ENABLE_MARKETSet to false to disable the marketplace tab

    Set to false to disable the marketplace tab

    values: true,false

  • VITE_ENABLE_ZAPSSet to false to disable zaps

    Set to false to disable zaps

    values: true,false

  • VITE_LIGHT_THEMEComma-separated list of key/value pairs defining light theme colors

    Comma-separated list of key/value pairs defining light theme colors

  • VITE_LOG_LEVELLog level: info, warn, or error

    Log level: info, warn, or error

    values: info,warn,error

  • VITE_NIP96_URLSComma-separated list of default upload providers

    Comma-separated list of default upload providers

  • VITE_ONBOARDING_LISTSComma-separated list of kind:30003 person lists to populate onboarding with

    Comma-separated list of kind:30003 person lists to populate onboarding with

  • VITE_PLATFORM_PUBKEYPubkey of the platform owner for zap splits

    Pubkey of the platform owner for zap splits

  • VITE_PLATFORM_ZAP_SPLITDecimal between 0 and 1 defining the default zap split percent

    Decimal between 0 and 1 defining the default zap split percent

    values: 0-1

  • VITE_SEARCH_RELAYSComma-separated list of relays to use when using NIP 50 search

    Comma-separated list of relays to use when using NIP 50 search

coracle releases & version history

More in Decentralized

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…