An elegant, offline‑first PWA video player for your local media. Try the official version!
- Drag & Drop or file dialog to open a video
- Clean controls with auto‑hide and keyboard shortcuts
- Video info overlay (codec, bitrate, dimensions, etc.)
- PWA: installable, offline‑ready with a service worker
- Internationalization (currently English and French)
- Privacy‑friendly: no server, no tracking; plays your local files in the browser
This project requires pnpm.
corepack enable pnpm
pnpm install
# Development (http://localhost:5173)
pnpm run dev
# Production build + preview (http://localhost:4173)
pnpm run build && pnpm run preview
Prebuilt images are published to GitHub Container Registry.
Pull and run:
docker pull ghcr.io/afcms/fluorite:master
docker run --rm -p 4173:80 ghcr.io/afcms/fluorite:master
# Open http://localhost:4173
Build locally and run:
docker build -t fluorite:latest .
docker run --rm -p 4173:80 fluorite:latest
# Open http://localhost:4173
Docker details:
- Preconfigured Caddy server serving static files from /srv
- Hardened HTTP security headers
- No volumes or env vars required
- No TLS support (reverse proxy required for production use)
Fluorite uses Lingui for i18n.
pnpm run extract # extract source strings
# edit translations in src/locales/*/messages.po
pnpm run build
Scripts of interest:
pnpm run dev
— start dev server at http://localhost:5173pnpm run build
— typecheck and build the apppnpm run preview
— preview the production build at http://localhost:4173pnpm run lint
— run ESLintpnpm run test
— run unit tests (Vitest)