25 lines
908 B
Docker
25 lines
908 B
Docker
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
|
|
|
|
ENV PATH="/usr/local/bin:${PATH}"
|
|
|
|
# Install nanobot into the system Python so channel plugins can share the same environment.
|
|
RUN uv pip install --system --upgrade nanobot-ai -i https://pypi.tuna.tsinghua.edu.cn/simple
|
|
|
|
# Persist nanobot config/workspace here via volume mount.
|
|
RUN mkdir -p /root/.nanobot /opt/mcp /opt/plugins
|
|
|
|
# Preinstall local channel plugin into the same env as nanobot (entry point discovery).
|
|
COPY nanobot-channel-web /opt/plugins/nanobot-channel-web
|
|
RUN uv pip install --system /opt/plugins/nanobot-channel-web -i https://pypi.tuna.tsinghua.edu.cn/simple
|
|
|
|
# Preinstall local MCP project dependencies into the image.
|
|
COPY MCP /opt/mcp
|
|
RUN uv pip install --system -e /opt/mcp/mars-mcp -e /opt/mcp/map-mcp -i https://pypi.tuna.tsinghua.edu.cn/simple
|
|
|
|
WORKDIR /workspace
|
|
|
|
EXPOSE 18790 8005 9000
|
|
|
|
ENTRYPOINT ["nanobot"]
|
|
CMD ["status"]
|