diff --git a/README.md b/README.md new file mode 100644 index 0000000..767243d --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# libretranslate + +Self-hosted [LibreTranslate](https://libretranslate.com) deployment — a free, open-source machine translation API. Used for translating church names, addresses, and mass schedule text in the **ScraperControl** pipeline. + +## Service + +| Service | Port | Description | +|---------|------|-------------| +| `libretranslate` | `15000` → `5000` | LibreTranslate translation API | + +## Loaded Languages + +Only these languages are loaded at startup (`LT_LOAD_ONLY`): + +| Code | Language | +|------|----------| +| `en` | English | +| `th` | Thai | +| `tl` | Filipino (Tagalog) | +| `id` | Indonesian | +| `ms` | Malay | + +These cover the Southeast Asian language churches targeted by ScraperControl importers (`import-mass-schedules-ph.ts`, `import-philmass.ts`). + +## API + +**Translate text:** +```bash +curl -X POST http://192.168.0.241:15000/translate \ + -H "Content-Type: application/json" \ + -d '{"q": "Misa ng Bata", "source": "tl", "target": "en"}' +``` + +**List available languages:** +```bash +curl http://192.168.0.241:15000/languages +``` + +**Web UI:** `http://192.168.0.241:15000` (enabled) + +## Running + +```bash +docker compose up -d +``` + +Note: First startup downloads language models (~several minutes). The healthcheck has a 300 s start period to account for this. + +## Data Persistence + +Language models and translation data are persisted in the Docker volume `libretranslate_data` (`/home/libretranslate/.local`). + +## Deployment + +Runs on `192.168.0.241` (albert-MacBookPro Linux server). + +**Docker Compose:** `/opt/docker/libretranslate/docker-compose.yml` + +| Endpoint | URL | +|----------|-----| +| Translation API | `http://192.168.0.241:15000` | +| Web UI | `http://192.168.0.241:15000` |