59 lines
1.4 KiB
Docker
59 lines
1.4 KiB
Docker
# 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
|
|
libgl1-mesa-glx \
|
|
libegl1-mesa \
|
|
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"}'
|