-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile.cloud-cpu
More file actions
34 lines (29 loc) · 1.23 KB
/
Copy pathDockerfile.cloud-cpu
File metadata and controls
34 lines (29 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# graphstore - cloud-cpu image for no-GPU serverless (Railway / Fly / Render).
#
# Built FROM LOCAL SOURCE - the published PyPI wheel is stale (no /api/ingest-media,
# no [cloud-cpu] extra). All "understanding" (NL->DSL + image/audio/video/pdf media)
# routes to CLOUD LLMs via litellm; model2vec embeds on CPU; pymupdf parses PDFs.
# No GPU, no torch, no local 4B/VLM/whisper. Lean image, fast build.
#
# The platform injects PORT; the entrypoint binds it (GRAPHSTORE_PORT overrides).
# Set OPENROUTER_API_KEY (or GROQ/AISTUDIO) + GRAPHSTORE_AUTH_TOKEN in the env.
FROM python:3.12-slim-bookworm
ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1 \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
GRAPHSTORE_DB_PATH=/data \
GRAPHSTORE_HOST=0.0.0.0 \
GRAPHSTORE_GPU=0 \
GRAPHSTORE_VECTOR_EMBEDDER=model2vec
RUN apt-get update \
&& apt-get install -y --no-install-recommends build-essential \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY pyproject.toml README.md ./
COPY src ./src
RUN pip install ".[cloud-cpu]"
COPY docker/entrypoint.sh /usr/local/bin/graphstore-entrypoint
RUN chmod +x /usr/local/bin/graphstore-entrypoint && mkdir -p /data
EXPOSE 7200
ENTRYPOINT ["/usr/local/bin/graphstore-entrypoint"]