caesium-web

caesium-web

apps.detail.types.app from Soitora's Repository

apps.detail.sections.overview

A modern, privacy aware web app to compress images, all offline and within the browser.

Caesium Web Image Compressor

An image compressor that runs entirely on your browser, completely offline. Powered by libcaesium-wasm. You can try it at caesium.app.

Screenshot 2025-05-09 at 11-21-11 Caesium Image Compressor - Online

Features

  • JPG, PNG and WebP supported
  • Lossy and lossless compression
  • Keeps images metadata
  • Before/after comparison
  • Runs entirely on your browser, no images are uploaded or processed on any external server. Try loading the app and then turn off your internet connection to see the magic.

Build

Setup

Make sure to install the dependencies:

npm install

Development Server

Start the development server on http://localhost:3000:

npm run dev

Production

Build the application for production:

npm run build

Locally preview production build:

npm run preview

Run on docker

Build

You can pull the official docker images

docker pull lymphatus/caesium-app-web:latest

or build it yourself

docker build -t caesium-web-app .

Run

docker run -d -p 3000:3000 lymphatus/caesium-app-web:latest

Then you can visit localhost:3000 to start using the app.

Configuration

You can set the following ENV variables to tweak the compressor to your preferences.

  • NUXT_PUBLIC_SEND_USAGE_REPORT: (boolean | default: true) send usage stats for the compressed images to the NUXT_PUBLIC_API_ENDPOINT. Set it to false if you don't care about it.
  • NUXT_PUBLIC_API_ENDPOINT: (string | default: "") the endpoint where you can send compression stats.
  • NUXT_PUBLIC_COMPRESSOR_MAX_FILES: (number | default: 5) how many files are allowed to be added to the list in the same batch.
  • NUXT_PUBLIC_COMPRESSOR_MAX_FILE_SIZE: (number | default: 20000000) max limit for each image size, in bytes.

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.downloadStats.title

2,805
apps.downloadStats.metrics.totalDownloads

apps.detail.sections.details

apps.detail.details.repository
lymphatus/caesium-app-web:latest
apps.detail.details.lastUpdated2025-12-02
apps.detail.details.firstSeen2025-08-05

apps.detail.sections.runtime

apps.detail.details.webui
http://[IP]:[PORT:3000]
apps.detail.details.network
bridge
apps.detail.details.shell
sh
apps.detail.details.privileged
false

apps.detail.sections.configuration

WebUI PortPorttcp
apps.detail.config.target
3000
apps.detail.config.default
3000
apps.detail.config.value
3000
Max batch file countVariable

Amount of files allowed to be added to the list in the same batch.

apps.detail.config.target
NUXT_PUBLIC_COMPRESSOR_MAX_FILES
apps.detail.config.default
5
apps.detail.config.value
5
Max file size for each imageVariable

Max limit for each image size, in bytes.

apps.detail.config.target
NUXT_PUBLIC_COMPRESSOR_MAX_FILE_SIZE
apps.detail.config.default
20000000
apps.detail.config.value
20000000
Public API EndpointVariable

The endpoint where you can send compression stats.

apps.detail.config.target
NUXT_PUBLIC_API_ENDPOINT
Send usage reportsVariable

Send usage stats for the compressed images to the NUXT_PUBLIC_API_ENDPOINT. Set it to false if you don't care about it.

apps.detail.config.target
NUXT_PUBLIC_SEND_USAGE_REPORT
apps.detail.config.default
false
apps.detail.config.value
false