55 lines
1.2 KiB
Docker
55 lines
1.2 KiB
Docker
# SmartTools - AI-powered CLI command builder
|
|
# Build: docker build -t smarttools .
|
|
# Run: docker run -it --rm -v ~/.smarttools:/root/.smarttools smarttools
|
|
|
|
FROM python:3.12-slim
|
|
|
|
LABEL maintainer="rob"
|
|
LABEL description="SmartTools - Personal AI-powered CLI command builder"
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
git \
|
|
curl \
|
|
# Node.js for Claude CLI
|
|
nodejs \
|
|
npm \
|
|
# Browser for OAuth authentication
|
|
firefox-esr \
|
|
# X11 libraries for display
|
|
libx11-6 \
|
|
libxext6 \
|
|
libxrender1 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy project files
|
|
COPY pyproject.toml README.md ./
|
|
COPY src/ ./src/
|
|
COPY examples/ ./examples/
|
|
COPY docs/ ./docs/
|
|
|
|
# Install SmartTools and dependencies
|
|
RUN pip install --no-cache-dir -e ".[dev]"
|
|
|
|
# Create smarttools directory
|
|
RUN mkdir -p /root/.smarttools /root/.local/bin
|
|
|
|
# Install example tools
|
|
RUN python examples/install.py
|
|
|
|
# Generate CLI wrappers
|
|
RUN smarttools refresh
|
|
|
|
# Add local bin to PATH
|
|
ENV PATH="/root/.local/bin:${PATH}"
|
|
|
|
# Default command - show help
|
|
CMD ["smarttools", "--help"]
|
|
|
|
# For interactive use:
|
|
# docker run -it --rm smarttools smarttools ui
|
|
# docker run -it --rm smarttools bash
|