Self-hosted long-document translation
From source document to translated book.
TraDoc orchestrates import, LLM-assisted translation, segment inspection and format-aware reconstruction of EPUB, PDF, DOCX, Markdown and TXT documents. This documentation clearly separates the private product, the static demo and the AI services you choose.
Documented releaseTraDoc v0.1.4 · verified 8 September 2026
FormatsEPUB · PDF · DOCX · Markdown · TXT
DeploymentLocal, Docker, NAS or private server · pin the tag in Compose
Choose your path
I am discovering TraDocRequirements, quick installation, Docker and first launch.I am configuring my AIProviders, models, keys, settings, languages and presets.I am translating a documentImport, start, progress, inspection and final export.I am checking my exportsActual behavior of the five formats and partial previews.I am securing my instanceLAN, reverse proxy, data and backups.Something is not workingBusy ports, 403 errors, providers and reconstruction.
Principles of this documentation
- Commands, ports and variables match the current
v0.1.4release. - Examples contain no secret, user document or provider credential.
- The final output format follows the input format: EPUB to EPUB, PDF to PDF, DOCX to DOCX, Markdown to Markdown and TXT to TXT.
- LLM limitations and the boundary of the public demo are stated explicitly.
- An experimental or disabled option is never presented as available by default.
Essential references
| Need | Value or page |
|---|---|
| Local interface | http://127.0.0.1:2499 |
| Development API | http://127.0.0.1:8000 |
| Published Docker port | host 2507 and container 2507 (all interfaces by default) |
| Official image | ghcr.io/lucas-lepajollec/tradoc:latest (pin a version or digest in Compose) |
| Persistent data | data/ locally, /app/data in the container |
| Health | GET /health |
| Source code | github.com/lucas-lepajollec/tradoc |
| Website | tradoc.lucas-homelab.fr |
| Demo | demo.tradoc.lucas-homelab.fr |