Back to Projects
Self-Hosted & Open Source

Lyostar
Ebook Server & Reader

An ultra-lightweight, single-binary, self-hosted ebook server and modern in-browser reading suite. Engineered in Go and Vue 3 with zero external runtime dependencies, idling under 30MB RAM on everything from low-spec cloud VPS nodes to E-Ink displays.

Lyostar Logo
Lyostar
Go + Vue 3 Single Binary
< 30 MB
Single Compiled Binary
< 30 MB
Idle Memory Footprint
0 Deps
No Redis / Docker Daemon
EPUB + PDF
Foliate.js & PDF.js
Engineered for Minimalism

Features Built for Readers & Self-Hosters

A self-hosted reading platform designed to get completely out of your way and run on anything.

embed.FS (<30MB)

Single-Binary Deployment

The entire Vue 3 SPA frontend is embedded directly into the Go binary via embed.FS. Run backend API, database layer, and web UI from one standalone executable with zero runtime dependencies.

Foliate.js & PDF.js

Dual In-Browser Ebook Engines

Foliate.js for smooth EPUB reading with customizable fonts, rapid pagination, and high contrast for E-Ink. Mozilla PDF.js integration with Hi-DPI vector rendering and selectable text layers.

CFI & Page Sync

Auto Progress Tracking & Resume

Granular reading position synchronization per account (Foliate CFI for EPUBs, exact page indices for PDFs). Automatically updates percentage and resumes from the 'Continue Reading' shelf.

WebP Pipeline

Automated Library Scanner

Monitors local directories (.epub, .pdf), extracts metadata (titles, authors, blurbs), and caches covers via an automatic WebP pipeline. Treats /books as strictly read-only for storage safety.

RBAC & HttpOnly

Role-Based Access & Secure Auth

Built-in multi-user management with Admin and Reader roles. Passwords hashed with bcrypt; session management with 64-character CSPRNG hex tokens delivered via HttpOnly, SameSite=Lax cookies.

SQLite FTS5

Instant Full-Text Search (FTS5)

Direct SQLite FTS5 virtual table integration delivers instant sub-millisecond search across book titles, authors, and series without requiring heavy external search clusters.

Technical Architecture

Zero-Bloat Architecture

Lyostar discards complex multi-container setups in favor of a clean, robust, single Go binary compiled with an embedded Vue 3 SPA frontend and a zero-CGO SQLite engine.

Strictly read-only storage protection for /books directory
Type-safe SQL queries with sqlc without ORM runtime tax
High-contrast dark-mode first design optimized for E-Ink
Binary Footprint< 30 MB (Compiled Single Binary)
Idle Memory Usage< 30 MB RAM (Low-resource VPS/Raspberry Pi)
Backend CoreGo 1.22+ with go-chi/chi/v5 router
Database EnginePure Go SQLite (modernc.org/sqlite, CGO-free, WAL)
SQL Layersqlc (Type-safe SQL compilation, no ORM overhead)
Frontend StackVue 3 (Composition API), Vite, Tailwind CSS
Display CompatibilityResponsive across Desktop, Tablet, Mobile & E-Ink
External DependenciesZero (No Redis, RabbitMQ, or mandatory Docker)
Single-Command Deployment

Ready to self-host your own library?

Run directly from source with a single make command or deploy using Docker:

# Clone and run development server
git clone https://github.com/mvp93-lab/lyostar.git
cd lyostar && make dev
# Access Web UI & API
http://localhost:8080