# Ramble - AI-powered structured field extraction # # Build: docker build -t ramble . # Run: docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ramble FROM python:3.12-slim LABEL maintainer="rob" LABEL description="Ramble - AI-powered structured field extraction GUI" # Install system dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ plantuml \ # Qt6 dependencies (Debian Trixie package names) libgl1 \ libegl1 \ libxkbcommon0 \ libdbus-1-3 \ libxcb-cursor0 \ libxcb-icccm4 \ libxcb-keysyms1 \ libxcb-shape0 \ libxcb-xinerama0 \ libxcb-randr0 \ libxcb-render-util0 \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Copy project files COPY pyproject.toml README.md ./ COPY src/ ./src/ # Install Ramble RUN pip install --no-cache-dir -e . # Verify installation RUN ramble --help # Default: show help CMD ["ramble", "--help"] # ============================================================================== # Usage Examples # ============================================================================== # Build: # docker build -t ramble . # # Run with mock provider (no AI): # xhost +local:docker # docker run -it --rm \ # -e DISPLAY=$DISPLAY \ # -v /tmp/.X11-unix:/tmp/.X11-unix \ # ramble --provider mock # # Headless mode (no GUI): # docker run -it --rm ramble \ # --field-values '{"Title":"MyApp","Summary":"A cool app"}'