No description
Find a file
Matt Lorentz eeacaca725 Fix a docker rebuild issue (#88)
The Docker build wasn't making use of docker's cache because the .git directory was being copied into the build context. This means that even if the app did not change, if anything in git changed then docker would rebuild the entire app.

This excludes the .git folder from the docker build, instead relying on the user to pass in the build hash at build time. Which is annoying but I don't think there's a better way around it.

This was annoying me because I am deploying a self-hosted version of flotilla from a git branch via ansible and it was rebuilding flotilla every time.

Co-authored-by: mplorentz <mplorentz@noreply.gitea.coracle.social>
Reviewed-on: https://gitea.coracle.social/coracle/flotilla/pulls/88
Co-authored-by: Matt Lorentz <mplorentz@noreply.coracle.social>
Co-committed-by: Matt Lorentz <mplorentz@noreply.coracle.social>
2026-03-09 21:12:35 -07:00
.gitea/workflows Use explicit image name in workflow file 2026-02-17 11:48:52 -08:00
.husky Get rid of overries, bump welshman to lockstep versioning 2025-05-15 15:52:17 -07:00
android Update nostr signer capacitor plugin 2026-03-09 21:12:09 -07:00
assets Update app icon 2025-01-17 09:08:55 -08:00
ios Update nostr signer capacitor plugin 2026-03-09 21:12:09 -07:00
src Bring back some notification badges 2026-03-09 21:12:10 -07:00
src-tauri Bootstrap Tauri desktop shell for evaluation (#66) 2026-03-09 21:12:10 -07:00
static Add royalty-free sound effect for new notification 2025-09-29 10:32:13 -07:00
.ackrc Support unban/unallow 2026-03-09 21:12:10 -07:00
.dockerignore Fix a docker rebuild issue (#88) 2026-03-09 21:12:35 -07:00
.env.local Fix a docker rebuild issue (#88) 2026-03-09 21:12:35 -07:00
.env.template Ignore another invite code error 2026-02-06 14:57:35 -08:00
.fdignore Add manual invoice payment 2026-03-09 21:12:10 -07:00
.gitattributes Add indexer, maybe improve safe area support 2025-05-15 10:15:41 -07:00
.gitignore Bootstrap Tauri desktop shell for evaluation (#66) 2026-03-09 21:12:10 -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 Page titles (#16) (#62) 2026-03-09 21:12:09 -07:00
build-in-production.sh Bump welshman 2025-07-09 14:00:42 -07:00
build.sh Fix a docker rebuild issue (#88) 2026-03-09 21:12:35 -07:00
capacitor.config.ts Fix safe area insets 2026-02-06 14:57:36 -08:00
CHANGELOG.md Bump version 2026-02-10 17:14:02 -08:00
Dockerfile Fix a docker rebuild issue (#88) 2026-03-09 21:12:35 -07:00
eslint.config.js Lint 2024-08-16 11:56:35 -07:00
LICENSE Add license 2024-08-05 14:47:49 -07:00
link_deps Update link_deps 2026-03-09 21:12:10 -07:00
package.json Bump welshman 2026-03-09 21:12:10 -07:00
pnpm-lock.yaml Fix a docker rebuild issue (#88) 2026-03-09 21:12:35 -07:00
postcss.config.js Work on layout, modals, toast: 2024-08-05 14:45:16 -07:00
pwa-assets.config.js Use env instead of env.local 2025-05-12 08:27:46 -07:00
README.md Fix a docker rebuild issue (#88) 2026-03-09 21:12:35 -07:00
rust-toolchain.toml Bootstrap Tauri desktop shell for evaluation (#66) 2026-03-09 21:12:10 -07:00
svelte.config.js Moar upgrades 2026-01-23 10:53:50 -08:00
tailwind.config.js Add shadow to thread items etc, bump welshman, update changelog, update version 2025-11-04 17:14:33 -08:00
tsconfig.json Autoformat 2024-08-05 15:28:46 -07:00
vite.config.ts Add lightning invoice payments 2025-11-12 16:24:58 -08:00
zapstore.yaml Update zapstore.yaml 2025-07-17 15:21:05 -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 file and populate it with the following environment variables (see .env for examples):

  • VITE_DEFAULT_PUBKEYS - A comma-separated list of hex pubkeys for bootstrapping web of trust
  • 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_RELAYS - A list of comma-separated 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.
  • VITE_PLATFORM_ACCENT - A hex color for the app's accent color
  • VITE_PLATFORM_DESCRIPTION - A description of the app

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
npx serve build

Or, if you prefer to use a container:

podman run -d -p 3000:3000 ghcr.io/coracle-social/flotilla:latest

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

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