A simple manga/manhwa reader application with reading history, bookmarks, and progress tracking.
- π Browse and scan local manga directories
- π Search manga by title with debounced search
- π Read manga with page navigation
- π Reading history tracking
- π Page bookmarks
- π Progress tracking
- π¨ Dark/Light theme support
- Docker & Docker Compose
- Your manga files in a directory (default:
/mnt/d/Manhwa)
-
Clone the repository
git clone <repository-url> cd yomiru
-
Configure manga storage path
Create
.envfile from the example:cp .env.example .env
Edit
.envand set your manga directory:MANGA_STORAGE_PATH=/path/to/your/manga
Default is
/mnt/d/Manhwa -
Build and start
docker compose build docker compose up -d
-
Access the application
Open your browser:
http://localhost:3000
- Click "Scan Directory" button on the home page
- The input will be pre-filled with
/manga(your mounted storage path) - Click "Scan" to import your manga
- Start reading!
docker compose downThe application version is displayed in the Settings drawer. To update the version:
Option 1: Using the sync script (recommended)
# Sync frontend to match backend version
node sync-version.js
# Update both to a new version
node sync-version.js 1.2.0Option 2: Manual update
- Update
backend/package.jsonversion - Update
frontend/package.jsonversion (must match) - Rebuild and restart the backend:
docker compose build backend docker compose up -d backend
Version validation:
- Backend validates version sync at startup (when frontend package.json is accessible)
- If versions don't match, a warning is logged to help catch inconsistencies
- The backend version is considered the source of truth
- In Docker, validation may not run since frontend/backend are separate containers
- Backend: Node.js, Express, Prisma, SQLite
- Frontend: Vue 3, Vite, Tailwind CSS
- Infrastructure: Docker, Docker Compose
yomiru/
βββ backend/ # Backend API server
βββ frontend/ # Vue frontend application
βββ storage/ # Data storage (covers, etc.)
β βββ images/ # Downloaded cover images
βββ docker-compose.yml
βββ README.md
For detailed information about the backend or frontend, see their respective README files:
MIT