No description
Find a file
2026-08-13 14:35:51 -07:00
.agents/skills Migrate to new welshman 2026-07-29 15:52:13 -07:00
.gitea/workflows minimize container size and caching 2026-05-22 15:36:28 -07:00
.husky Get rid of overries, bump welshman to lockstep versioning 2025-05-15 15:52:17 -07:00
android Add native sharing handler 2026-08-12 16:04:57 -07:00
assets Update app icon 2025-01-17 09:08:55 -08:00
e2e Add e2e tests 2026-08-07 13:11:12 -07:00
ios Add native sharing handler 2026-08-12 16:04:57 -07:00
scripts Trim padding on push logo 2026-07-08 11:18:27 -07:00
src Add log sending 2026-08-13 14:35:51 -07:00
static Update universal links 2026-04-16 13:50:13 -07:00
.ackrc Support unban/unallow 2026-03-09 21:12:10 -07:00
.dockerignore Fix dockerfile again 2026-05-11 13:20:47 -07:00
.env Add log sending 2026-08-13 14:35:51 -07:00
.fdignore Scaffold playwright 2026-06-01 17:00:47 -07:00
.gitattributes Add indexer, maybe improve safe area support 2025-05-15 10:15:41 -07:00
.gitignore Bring caravel hosting in-app 2026-07-27 13:19:28 -07:00
.npmrc Initial commit 2024-08-01 16:49:32 -07:00
.nvmrc Update capacitor, get ios running 2025-01-31 13:14:29 -08:00
.prettierignore Initial commit 2024-08-01 16:49:32 -07:00
.prettierrc Moar upgrades 2026-01-23 10:53:50 -08:00
AGENTS.md Migrate to new welshman 2026-07-29 15:52:13 -07:00
build-in-production.sh Bump welshman 2025-07-09 14:00:42 -07:00
build.sh Generate push icon 2026-07-07 12:31:10 -07:00
capacitor.config.ts Fix keyboard safe insets 2026-06-23 13:03:42 -07:00
CHANGELOG.md Bump version, update changelog 2026-07-29 14:49:46 -07:00
CONTRIBUTING.md Add contributing file 2026-04-02 13:31:37 -07:00
Dockerfile Add pnpm workspace to docker file 2026-06-23 13:32:32 -07:00
eslint.config.js Clean up convention violations, dead code, and daisyUI leftovers 2026-07-27 15:38:23 -07:00
LICENSE Add license 2024-08-05 14:47:49 -07:00
link_deps Add e2e tests 2026-08-07 13:11:12 -07:00
package.json Add native sharing handler 2026-08-12 16:04:57 -07:00
playwright.config.ts Add e2e tests 2026-08-07 13:11:12 -07:00
pnpm-lock.yaml Add native sharing handler 2026-08-12 16:04:57 -07:00
pnpm-workspace.yaml Add e2e tests 2026-08-07 13:11:12 -07:00
postcss.config.js Upgrade daisyui/tailwind 2026-04-07 15:31:35 -07:00
pwa-assets.config.js Fix env conventions again 2026-04-02 14:01:09 -07:00
README.md Add log sending 2026-08-13 14:35:51 -07:00
server.js Don't return 404, just return the index (some routes look like asset files since tlds look like file extensions) 2026-06-04 14:28:10 -07:00
skills-lock.json Add welshman skill 2026-06-12 15:00:14 -07:00
svelte.config.js Moar upgrades 2026-01-23 10:53:50 -08:00
tailwind.config.js Fix agent errors 2026-07-27 16:43:54 -07:00
tsconfig.json Add e2e tests 2026-08-07 13:11:12 -07:00
vite.config.server.ts minimize container size and caching 2026-05-22 15:36:28 -07:00
vite.config.ts Add native sharing handler 2026-08-12 16:04:57 -07:00
zapstore.yaml Update zapstore.yaml 2026-03-09 21:12:51 -07:00

Flotilla

A discord-like nostr client based on the idea of "relays as groups".

If you would like to be interoperable with Flotilla, please check out this guide: https://habla.news/u/hodlbod@coracle.social/1741286140797

Environment

You can also optionally create an .env.local file and populate it with the following environment variables (see .env.template for examples):

Platform branding

  • VITE_PLATFORM_URL - The url where the app will be hosted
  • VITE_PLATFORM_NAME - The name of the app
  • VITE_PLATFORM_LOGO - A logo url for the app. Can be a local path or https link. Must be a PNG file.
  • VITE_PLATFORM_ACCENT - A hex color for the app's accent color (used only for generated manifest, for more control create a custom theme file)
  • VITE_PLATFORM_DESCRIPTION - A description of the app
  • VITE_PLATFORM_TERMS - URL to your terms of service page
  • VITE_PLATFORM_PRIVACY - URL to your privacy policy page
  • VITE_PLATFORM_LOGEE - A hex pubkey which will receive logs users send from their privacy settings

Platform mode

  • VITE_PLATFORM_RELAYS - A comma-separated list of relay urls that will make flotilla operate in "platform mode". Disables all space browse/add/select functionality and makes the first platform relay the home page.

Defaults

  • VITE_DEFAULT_PUBKEYS - A comma-separated list of hex pubkeys for bootstrapping web of trust
  • VITE_DEFAULT_SPACES - A comma-separated list of relay urls that new users will be automatically joined to on signup. Each one may optionally include an invite code, delimited by |, e.g. my.space.com|CODE.
  • VITE_DEFAULT_RELAYS - A comma-separated list of relay urls used as default outbox/inbox relays
  • VITE_DEFAULT_MESSAGING_RELAYS - A comma-separated list of relay urls used for encrypted direct messages
  • VITE_DEFAULT_BLOSSOM_SERVERS - A comma-separated list of blossom server urls used for file uploads

Infrastructure

  • VITE_INDEXER_RELAYS - A comma-separated list of relay urls used for user profile/key lookup
  • VITE_SIGNER_RELAYS - A comma-separated list of relay urls used for NIP-55 remote signers
  • VITE_BLOCKED_RELAYS - A comma-separated list of relay urls that will be blocked
  • VITE_PUSH_SERVER - URL of the push notification server
  • VITE_PUSH_BRIDGE - WebSocket URL of the push notification relay bridge
  • VITE_POMADE_SIGNERS - A comma-separated list of Pomade signer server URLs (3+ required to enable email signup)
  • VITE_THUMBNAIL_URL - URL of the image thumbnail service

These values won't be used for a built version. Instead, env variables should be provided to build.sh directly or to the built container.

If you're deploying a custom version of flotilla, be sure to remove the plausible.coracle.social script from app.html. This sends analytics to a server hosted by the developer.

Development

See CONTRIBUTING.md.

Deployment

To run your own Flotilla, it's as simple as:

pnpm install
pnpm run build
pnpm run start

Or, if you prefer to use a container:

docker run -d -p 3000:3000 gitea.coracle.social/coracle/flotilla:latest

Alternatively, you can copy the build files into a directory of your choice and serve it yourself:

mkdir ./mount
docker run -v ./mount:/app/mount gitea.coracle.social/coracle/flotilla:latest bash -c 'cp -r build/* mount'