# File To Markdown Docker

Run Apache Tika as a Docker container when you need guaranteed OCR (scanned PDFs...

- Repository: https://github.com/apache/tika (4119 stars)
- Category: DevOps
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add apache/tika --skill file-to-markdown-docker -g -a claude-code -y`
Codex: `npx skills add apache/tika --skill file-to-markdown-docker -g -a codex -y`
Cursor: `npx skills add apache/tika --skill file-to-markdown-docker -g -a cursor -y`
Gemini CLI: `npx skills add apache/tika --skill file-to-markdown-docker -g -a gemini-cli -y`

## Description

Run Apache Tika as a Docker container when you need guaranteed OCR (scanned PDFs, images) or geospatial raster support with zero local install, `apache/tika:<version>-full` bundles Tesseract, GDAL, ImageMagick, and fonts. Also covers the minimal image, port/volume/memory conventions, the path-identity mount gotcha, and how to confirm OCR actually ran rather than silently returning no text. Powered by Apache Tika. Use when a local `tika-app`/`tika-server` doesn't have Tesseract installed, or you want a disposable, self-contained parsing environment. Companion to the `file-to-markdown` skill, which covers the parsing calls themselves once a server is up.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

Local override: `$TIKA_SKILLS_LOCAL/file-to-markdown-docker/LOCAL.md` (default `~/.tika-skills`),
read after this file, wins on conflict.

# Running Apache Tika via Docker

Two images on Docker Hub: `apache/tika` (REST server, port 9998) and
`apache/tika-grpc` (gRPC, port 9090). This skill covers `apache/tika`; the
`file-to-markdown` companion skill covers the parsing calls in more depth once the
container is up (same HTTP API either way), but the examples below are
enough to parse on their own.

The Docker route needs **no local Java at all**, the container brings its
own. If the host lacks Java 17+ (Tika 4.x's requirement), this is the
easiest path, not just the OCR path. This skill describes Tika 4.x images;
on a 3.x image the default output is XHTML, not Markdown.

## Minimal vs `-full`, the choice that matters

```
apache/tika:<version>        # JRE + tika-server-standard, pure-Java parsers only
apache/tika:<version>-full   # + Tesseract OCR, GDAL, ImageMagick, font sets
```

The rest: https://github.com/apache/tika/blob/HEAD/.skills/users/file-to-markdown-docker/SKILL.md
