Skip to content

pinkfuwa/llumen

Repository files navigation

llumen Logo

Llumen

License: MPL 2.0 Nightly Docker status check MSRV

en zh-tw zh-cn


Why Llumen?

Most self-hosted interfaces are built for servers, not devices. They're powerful but demand heavy resources and hours of configuration.

Llumen carves out a different space: privacy without the complexity. You get the features you actually need, optimized for modest hardware: Raspberry Pi/old laptops/minimal VPS while keeping many features of commercial products.

Privacy Power Setup
Commercial (ChatGPT) ❌ Cloud-only ✅ High ✅ Zero-config
Typical Self-Host (Open WebUI) ✅ Local ✅ High ❌ Config hell
llumen ✅ Local ⚖️ Just enough ✅ Zero-config

Features

Feature What You Get
Speed Sub-second cold starts, real-time token streaming
Chat Modes Normal, Web Search, & Deep Research with autonomous agents
Rich Media PDF uploads, LaTeX rendering, image generation
Universal API Any OpenAI-compatible provider (OpenRouter, local models, etc.)
Minimal Footprint ~17MB binary, <128MB RAM usage
video.mp4

Quickstart

Default Login: admin / P@88w0rd

Docker (30-second setup)

docker run -it --rm \
  -e API_KEY="<YOUR_OPENROUTER_KEY>" \
  -p 80:80 \
  -v "$(pwd)/data:/data" \
  ghcr.io/pinkfuwa/llumen:latest

That's it. No config files. No Python dependencies.

Want bleeding edge? Use ghcr.io/pinkfuwa/llumen:nightly

See ./docs/sample for docker-compose examples.

Native Binaries

Download from Releases for Windows/Linux, including arm build.

Configuration (Optional)

Variable Description Default
API_KEY OpenRouter/provider key required
API_BASE Custom endpoint https://openrouter.ai/api
DATA_PATH Storage directory .
BIND_ADDR Network Socket 0.0.0.0:80

Documentation

https://pinkfuwa.github.io/llumen/

Built with ❤️ by pinkfuwa. Keep it simple, keep it fast.