Run the siteΒΆ
Docker only for Node β do not run npm install on the host.
uv run poe up
# or: docker compose -f docker-compose.yml -f docker-compose.dev.yml up
Open http://localhost:14321 (dev / poe up) or http://localhost:8080 (prod / poe up-prod).
See Docker.
Education β Word types, Grammar, Topics, Flashcards, Practice, Chat (AI features when enabled)
Data is bind-mounted from
./dataat/datain the container
Web unit tests (Vitest) β run inside the web container; do not npm install on the host:
docker compose exec web npm test
If the web service is not already up:
docker compose run --rm web npm test
Python tests (host via uv):
uv run poe test
uv run poe test-system
uv run poe test-all
uv run poe coverage
poe test runs unit and offline system tests (skips @pytest.mark.llm).
poe test-all also runs LLM tests (needs a reachable Ollama).
Optional LLM-only suite: uv run poe test-llm.
Rebuild after Dockerfile changes:
docker compose up --build web
Docker Compose project name: soju (containers use the soju- prefix).