# Dockerfile for Distributed Llama Worker (Raspberry Pi)
# This variant runs as a worker node and connects to a controller
FROM arm64v8/debian:bookworm-slim

# Install dependencies
RUN apt-get update && apt-get install -y \
    build-essential \
    g++ \
    make \
    && rm -rf /var/lib/apt/lists/*

# Set working directory
WORKDIR /app

# Copy source code
COPY src/ ./src/
COPY Makefile ./

# Copy worker entrypoint script
COPY scripts/entrypoint-worker.sh /app/entrypoint.sh

# Make script executable
RUN chmod +x /app/entrypoint.sh

# Build only the worker application
RUN make dllama

# Expose the default worker port
EXPOSE 9999

# Use the entrypoint script
ENTRYPOINT ["/app/entrypoint.sh"]