|
|
|
|
|
FROM python:3.12-slim |
|
|
|
|
|
|
|
|
RUN apt-get update && \ |
|
|
apt-get install -y curl && \ |
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh && \ |
|
|
mv /root/.local/bin/uv /usr/local/bin/ && \ |
|
|
mv /root/.local/bin/uvx /usr/local/bin/ && \ |
|
|
mkdir -p /.cache/uv |
|
|
|
|
|
|
|
|
COPY pyproject.toml . |
|
|
|
|
|
|
|
|
RUN uv sync && \ |
|
|
rm -rf /.uv |
|
|
|
|
|
|
|
|
RUN useradd -m -u 1000 user && \ |
|
|
chown -R user:user /.cache/uv |
|
|
|
|
|
USER user |
|
|
|
|
|
|
|
|
ENV HOME=/home/user \ |
|
|
PATH=/home/user/.local/bin:/usr/local/bin:$PATH \ |
|
|
PORT=7860 \ |
|
|
CHAINLIT_HOST=0.0.0.0 \ |
|
|
PYTHONUNBUFFERED=1 |
|
|
|
|
|
WORKDIR $HOME/app |
|
|
|
|
|
|
|
|
COPY --chown=user:user . . |
|
|
|
|
|
|
|
|
EXPOSE 8082 |
|
|
EXPOSE 7860 |
|
|
|
|
|
|
|
|
CMD ["bash", "-c", "uv run mcpdoc --urls LangGraph:https://langchain-ai.github.io/langgraph/llms.txt CrewAI:https://docs.crewai.com/llms.txt --transport sse --port 8082 --host localhost & uv run chainlit run app.py --port 7860 --host 0.0.0.0"] |
|
|
|