尚未检测到更新。GitHub 发布版本后会显示在这里。
Learn a language from the shows on your Plex or Jellyfin server. Self-hosted, in the spirit of Sonarr and Radarr.
翻译准备中
正在加载完整 README。
查看完整 README ↗Learnarr is a self-hosted companion in the spirit of Sonarr and Radarr. Pick an episode you're about to watch, and Learnarr reads its subtitles, works out how much of the dialogue you already understand, and asks the AI provider you choose for the words worth learning. You go through the suggestions, keep the ones you want, and study them as flashcards built around the real lines you'll hear. Study in the app on your phone, or send the cards to Anki.
Status: early (v0.3). It works end to end, and there will be rough edges. The wiki covers install, setup and how it all works.
Learnarr runs as one Docker container with one /config folder. No environment variables are needed: the
setup wizard does the rest.
services:
learnarr:
image: ghcr.io/smoothless-io/learnarr:latest
container_name: learnarr
ports:
- "7979:7979"
volumes:
- ./config:/config
environment:
- PUID=1000
- PGID=1000
restart: unless-stopped
docker compose up -d
docker run -d --name learnarr \
-p 7979:7979 \
-v ./config:/config \
-e PUID=1000 -e PGID=1000 \
--restart unless-stopped \
ghcr.io/smoothless-io/learnarr:latest
Then open http://<your-server>:7979. The wizard creates the admin account, connects Plex or Jellyfin and
your AI provider, and asks which language you're learning.
Images are built for linux/amd64 and linux/arm64.
docker compose pull && docker compose up -d
Database changes are applied automatically when the container starts.
Everything Learnarr keeps is in /config: the database, its encryption keys and downloaded language
models. Back up that folder. Without its encryption.key, saved passwords and API keys can't be read.
Everything can be set in the app. These environment variables are optional:
| Variable | What it does |
|---|---|
PUID, PGID | The user and group that own /config (id on the host shows yours). Default 1000. |
PUBLIC_URL | Learnarr's address behind an HTTPS reverse proxy, e.g. https://learnarr.example.com. Turns on secure cookies. |
MEDIA_SERVER, MEDIA_SERVER_URL, MEDIA_SERVER_TOKEN | Pin the media server (plex or jellyfin) instead of setting it in the app. |
AI_PROVIDER, AI_BASE_URL, AI_API_KEY, AI_MODEL | Pin the AI provider (openai-compatible or anthropic). |
AUTH_SECRET, ENCRYPTION_KEY | Use your own keys instead of the ones generated in /config on first start. |
PORT | The port inside the container. Default 7979. |
TRUSTED_ORIGINS | Extra addresses Learnarr is reached at, comma-separated, if sign-in fails with an origin error. |
OPENSUBTITLES_API_KEY | An OpenSubtitles.com API key shared with everyone here who hasn't added their own. |
UDPIPE_BIN | Where the lemmatiser binary is. Default /opt/udpipe/udpipe in the image. |
TZ | Your time zone, for "today" in study limits, streaks and reminders. Default UTC. |
NTFY_URL, NTFY_TOKEN | A self-hosted ntfy server (default https://ntfy.sh) and its access token. |
REMINDER_HOUR | The hour (in TZ) practice reminders go out. Default 18. |
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗