FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim RUN useradd -m -u 1000 chameleon USER chameleon ENV PATH="/home/chameleon/.local/bin:$PATH" ENV PYTHONPATH="/app" ENV PYTHONUNBUFFERED=1 ENV LOGURU_LEVEL=DEBUG WORKDIR /app COPY --chown=chameleon pyproject.toml uv.lock ./ RUN uv sync --no-dev # Copy resources first to ensure they exist COPY --chown=chameleon resources/ ./resources/ # Then copy the rest of the application COPY --chown=chameleon . /app # Reset the entrypoint, don't invoke `uv` ENTRYPOINT [] ENV PORT=7860 ENV FASTMCP_SERVER_HOST=0.0.0.0 ENV FASTMCP_SERVER_PORT=7860 ENV FASTMCP_SERVER_DEBUG=false ENV GRADIO_SERVER_HOST=0.0.0.0 ENV GRADIO_SERVER_PORT=7860 # Expose the port EXPOSE 7860 # Start command CMD ["uv", "run", "app.py"]