Mirumoji
★ 45About
Community Ratings
No ratings yetNew this week
Read recap →Features
- interactive player
- clickable tokenized subtitles
- dictionary pop-ups
- subtitle generation
- audio transcription
- wildcard dictionary search
- furigana text analysis
- LLM sentence breakdowns
- clip saving
- Anki deck export
Details
- Last Updated
- Oct 20, 2026
- Created
- Jun 3, 2025
- Install Methods
- dockerdocker-composebinarysource
- Requirements
- Docker Composelocal or cloud GPUGemini/Claude/GPT API keys or a local LLM server for optional LLM features
- API
- REST
- Runtime / Stack
- DockerPython
- Privacy & Independence
- Cloud: OptionalOffline Capable
- Deployment
Deployment: Docker Compose ✓2 Containers — light hosting footprintRuns as 2 containers
Run Mirumoji yourself
Pick how much you want to manage.
HetznerBest match
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
DigitalOcean
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
OVHcloud
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
Is this your project? Sponsor a listing
Run Mirumoji with Docker Compose
Compose file from the Mirumoji project repository.
2 services
no resource limits declared
needs persistent storage (3 volumes)
apps/mirumoji/src/mirumoji/docker/compose/compose.yaml · @ d64afcf · scanned Sep 24, 2026
# Mirumoji Docker Compose template
#
# This template is transformed at runtime by the launcher (`mirumoji.cli.shared.compose`)
#
# Modifications Made By The Launcher
#
# - Replaces Image References For GPU / CPU Backend Builds
# - Injects The NVIDIA GPU Reservation + Hugging Face Model-Cache Volume For GPU Backend Builds
#
# It's recommended to run `mirumoji up` rather than to edit this file directly
#
# `mirumoji compose render` emits a resolved copy for manual installs
#
# Every backend variable uses a `${VAR:-default}` form so that nothing is required
# except what the chosen backend genuinely needs. The launcher collects those into the
# `.env` it passes via `--env-file`
services:
frontend:
image: svdc1/mirumoji:frontend-latest
ports:
- "80:80" # HTTP (Redirects To HTTPS, Serves The CA Download)
- "443:443" # HTTPS (Cert For HOST_LAN_IP Signed By The Local CA At Runtime)
environment:
- HOST_LAN_IP=${HOST_LAN_IP:-127.0.0.1}
volumes:
# Persists the local CA across restarts so devices that installed it
# (For The PWA / Trusted HTTPS) stay trusted. The CA is served at
# /mirumoji-ca.crt for the one-time per-device install
- certs:/etc/nginx/ssl
depends_on:
- backend
networks:
- app-network
backend:
image: svdc1/mirumoji:backend-cpu-latest
ports:
- "8000:8000"
environment:
- MIRUMOJI_TRANSCRIBE_BACKEND=${MIRUMOJI_TRANSCRIBE_BACKEND:-auto}
- MIRUMOJI_LOGGING_LEVEL=${MIRUMOJI_LOGGING_LEVEL:-INFO}
# LLM Providers
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
- MIRUMOJI_LLM_API_KEY=${MIRUMOJI_LLM_API_KEY:-}
- MIRUMOJI_LLM_BASE_URL=${MIRUMOJI_LLM_BASE_URL:-}
# Modal
- MODAL_TOKEN_ID=${MODAL_TOKEN_ID:-}
- MODAL_TOKEN_SECRET=${MODAL_TOKEN_SECRET:-}
- MIRUMOJI_MODAL_GPU=${MIRUMOJI_MODAL_GPU:-A10G}
- MIRUMOJI_MODAL_IMAGE=${MIRUMOJI_MODAL_IMAGE:-docker.io/svdc1/mirumoji-modal-gpu:latest}
- MIRUMOJI_MODAL_SCALEDOWN_WINDOW=${MIRUMOJI_MODAL_SCALEDOWN_WINDOW:-60}
- MODAL_FORCE_BUILD=${MODAL_FORCE_BUILD:-0}
# LLM Batch Concurrency
- MIRUMOJI_MAX_LLM_CONCURRENCY=${MIRUMOJI_MAX_LLM_CONCURRENCY:-4}
# Default LLM System-Message Overrides
- MIRUMOJI_SRT_DEFAULT_SYS_MSG=${MIRUMOJI_SRT_DEFAULT_SYS_MSG:-}
- MIRUMOJI_BREAKDOWN_DEFAULT_SYS_MSG=${MIRUMOJI_BREAKDOWN_DEFAULT_SYS_MSG:-}
volumes:
# The server resolves its storage via platformdirs (see mirumoji/paths.py),
# which is unversioned, so these mounts persist data and logs across
# version upgrades
- data:/root/.local/share/mirumoji
- logs:/root/.local/state/mirumoji
networks:
- app-network
volumes:
data:
logs:
certs:
networks:
app-network:
driver: bridge
This file may be out of date. Check the Mirumoji documentation for current setup steps.
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.
