mirror of
https://github.com/zvx-echo6/meshai.git
synced 2026-05-21 23:24:44 +02:00
Features: - Multi-backend LLM support (OpenAI, Anthropic, Google) - Rolling summary memory for token optimization (~70-80% reduction) - Per-user conversation history with SQLite persistence - Bang commands (!help, !ping, !reset, !status, !weather) - Meshtastic integration via serial or TCP - Message chunking for mesh network constraints (150 char limit) - Rate limiting to prevent network congestion - Rich TUI configurator - Docker support 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
41 lines
955 B
Docker
41 lines
955 B
Docker
FROM python:3.11-slim
|
|
|
|
LABEL maintainer="K7ZVX <matt@echo6.co>"
|
|
LABEL description="MeshAI - LLM-powered Meshtastic assistant"
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
libc6-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create non-root user
|
|
RUN useradd -m -s /bin/bash meshai
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy requirements first for layer caching
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Copy application code
|
|
COPY meshai/ ./meshai/
|
|
COPY pyproject.toml .
|
|
COPY README.md .
|
|
|
|
# Install the package and fix permissions
|
|
RUN pip install --no-cache-dir -e . && \
|
|
chown -R meshai:meshai /app
|
|
|
|
# Create data directory for config and database
|
|
RUN mkdir -p /data && chown meshai:meshai /data
|
|
|
|
# Switch to non-root user
|
|
USER meshai
|
|
|
|
# Set working directory to data for config files
|
|
WORKDIR /data
|
|
|
|
# Default command
|
|
CMD ["python", "-m", "meshai"]
|