Learning with Texts (LWT) is a tool for language learning by reading. This repository is a Docker installer, the main repository can be found at https://github.com/HugoFara/lwt.
LWT 3.0.0 is a complete rewrite of the application:
- Modern frontend with Alpine.js, TypeScript, and Bulma CSS (jQuery and iframes removed)
- Multi-user support with registration, login, OAuth, and per-user data isolation
- InnoDB database with foreign key constraints and full UTF8MB4 encoding
- REST API at
/api/v1for all resources - Extensible parsers for Japanese (MeCab), Chinese (Jieba), and standard languages
- New features: term notes, inline Markdown, RSS feeds, Gutenberg book import, EPUB support, local dictionaries, dark theme
See the full changelog for details.
This is a Docker installer, we recommend using Docker Desktop for inexperienced users.
For people familiar with Docker, you only need:
- Docker
- Docker Compose plugin
For copy/pasters:
git clone https://github.com/hugofara/lwt-docker-installer
cd lwt-docker-installer
cp .env.sample .env # edit .env to set your password and preferences
docker compose up -dThen visit http://localhost:8010.
Manual instructions:
- Clone this repository
- Copy
.env.sampleto.envand customize it (at minimum, changeDB_PASSWORD) - Run
docker compose up -d - Visit http://localhost:8010
To enable user registration and login, set MULTI_USER_ENABLED=true in your .env file. The first registered user automatically becomes the administrator.
docker compose down
docker compose pull
docker compose up -dDatabase migrations run automatically on startup.
To remove the created containers:
docker compose downYour data is preserved in ./lwt_db_data. To delete everything including data:
docker compose down -v
rm -rf lwt_db_data- Database: stored in
./lwt_db_data(configurable viaDB_DATA_PATHin.env) - Media files: stored in
./media(configurable viaWEB_MEDIA_PATHin.env)
Let's learn new languages!