Files
JOUNGWOOK KWON 7b040a4445 Add Streamlit web UI and Docker support
- app.py: Streamlit-based web UI for file-to-markdown conversion
- Dockerfile.ui: Docker image for UI (ffmpeg, ExifTool, port 8501)
- .dockerignore: whitelist app.py for Docker build
- CLAUDE.md: project instructions for Claude Code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 15:10:41 +09:00

35 lines
947 B
Docker

FROM python:3.13-slim-bullseye
ENV DEBIAN_FRONTEND=noninteractive
ENV EXIFTOOL_PATH=/usr/local/bin/exiftool
ENV FFMPEG_PATH=/usr/bin/ffmpeg
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
curl \
perl \
make \
&& rm -rf /var/lib/apt/lists/* \
&& curl -fsSL https://exiftool.org/Image-ExifTool-13.55.tar.gz -o /tmp/exiftool.tar.gz \
&& tar -xzf /tmp/exiftool.tar.gz -C /tmp \
&& cd /tmp/Image-ExifTool-13.55 \
&& perl Makefile.PL && make install \
&& rm -rf /tmp/exiftool.tar.gz /tmp/Image-ExifTool-13.55
WORKDIR /app
COPY packages/ /app/packages/
COPY app.py /app/app.py
RUN pip --no-cache-dir install \
/app/packages/markitdown[all] \
streamlit
EXPOSE 8501
HEALTHCHECK CMD curl -f http://localhost:8501/_stcore/health || exit 1
ENTRYPOINT ["streamlit", "run", "app.py", \
"--server.port=8501", \
"--server.address=0.0.0.0", \
"--server.headless=true"]