Skip to content

Latest commit

 

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hexlode

CI CodeQL

Open-source image processing in the browser: quick tools for converting, compressing, resizing, cropping, rotating and stripping metadata, and a node-based Studio for batch pipelines. Images never leave your device.

Run locally

Requires Node.js 24 and pnpm 11.

git clone git@github.com:pixelactstudio/hexlode.git
cd hexlode
pnpm install
pnpm dev

Open http://localhost:3000. No .env.local is needed; copy .env.example to .env.local only to enable analytics or error reports.

Hexlode processes images in the browser's Origin Private File System, which browsers turn on only over HTTPS or at localhost. To open the dev server from another device, serve it over HTTPS, for example with tailscale serve --bg --https=8443 http://127.0.0.1:3000. Over plain HTTP the tools explain this instead of running.

Checks

Command What it does
pnpm test Unit tests in Node and browser tests in Chromium.
pnpm test:scale 500 images of 12 megapixels through a template, checking memory. Takes minutes.
pnpm validate Biome, TypeScript, pnpm test and a production build.

Browser tests use the Chromium at PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH, or the one pnpm exec playwright install chromium downloads.

Docker

CI publishes ghcr.io/pixelactstudio/hexlode for x86 and ARM on every push to main.

docker run -p 3000:3000 ghcr.io/pixelactstudio/hexlode:latest

Settings come from the container's environment, for example -e VITE_POSTHOG_KEY=… and -e VITE_SENTRY_DSN=… to enable analytics and error reports. DEPLOY.md covers Dokploy, every variable, zero-downtime updates and deploying on each push.

Documents

idea.md describes the product, implementation.md the plan and engine, CONTEXT.md the vocabulary and docs/adr/ the decisions.

License

Apache License 2.0. Copyright 2026 Dev Talan. The jSquash codecs keep their own licences, listed in node_modules/@jsquash/*/LICENSE and bundled with the app.

Releases

Packages

Used by

Contributors

Languages