Skip to content

Latest commit

 

History

History
82 lines (57 loc) · 2.69 KB

README.md

File metadata and controls

82 lines (57 loc) · 2.69 KB

Fluorite

An elegant, offline‑first PWA video player for your local media. Try the official version!

Artifact Hub Deploy with Vercel

Vite React TypeScript

Features

  • 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

Quick start (local)

This project requires pnpm.

pnpm install

# Development (http://localhost:5173)
pnpm run dev

# Production build + preview (http://localhost:4173)
pnpm run build && pnpm run preview

Run with Docker

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)

Internationalization

Fluorite uses Lingui for i18n.

pnpm run po:extract    # extract source strings
# edit translations in src/locales/*/messages.po
pnpm run build

Development

Scripts of interest:

  • pnpm run dev — start dev server at http://localhost:5173
  • pnpm run build — typecheck and build the app
  • pnpm run preview — preview the production build at http://localhost:4173
  • pnpm run lint — run Oxlint with type-aware rules
  • pnpm run test — run unit tests (Vitest)