Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4f5b696
feat: one-click deployment with docker
tianxing02 Jul 21, 2025
7c6d58c
Merge remote-tracking branch 'origin/dev' into dev
tianxing02 Jul 21, 2025
faeea51
feat: one-click deployment with docker
tianxing02 Jul 21, 2025
8364606
Merge remote-tracking branch 'origin/dev' into dev
tianxing02 Jul 21, 2025
6942a7e
Merge remote-tracking branch 'origin/dev' into dev
tianxing02 Jul 21, 2025
a1158c9
feat: one-click deployment with docker
tianxing02 Jul 21, 2025
3964580
feat: one-click deployment with docker
tianxing02 Jul 21, 2025
b01decb
Merge branch 'MemTensor:dev' into dev
tianxing02 Jul 21, 2025
879a0e8
feat: one-click deployment with docker
tianxing02 Jul 21, 2025
e878ebf
Merge remote-tracking branch 'origin/dev' into dev
tianxing02 Jul 21, 2025
4a968f7
feat: one-click deployment with docker
tianxing02 Jul 21, 2025
4fd3573
feat: one-click deployment with docker
tianxing02 Jul 21, 2025
872312f
feat: one-click deployment with docker
tianxing02 Jul 21, 2025
b8e9bc4
Merge branch 'MemTensor:dev' into dev
tianxing02 Jul 22, 2025
b89d091
feat: one-click deployment with docker
tianxing02 Jul 22, 2025
2aa5db8
feat: one-click deployment with docker
tianxing02 Jul 22, 2025
19bdbfb
feat: docker settings modify
tianxing02 Jul 22, 2025
b13d633
feat: docker settings modify
tianxing02 Jul 23, 2025
f41a885
feat: docker settings modify
tianxing02 Jul 23, 2025
431c712
Update graph_db.py
tianxing02 Jul 23, 2025
827557c
Update tree_config.json
tianxing02 Jul 23, 2025
ff8e82b
Update simple_openapi_memos.py
tianxing02 Jul 23, 2025
2854bc4
Merge branch 'dev' into feat/docker-settings-modify
CaralHsi Jul 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
16 changes: 13 additions & 3 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Base image
FROM python:3.11-slim

# Install dependencies
RUN apt-get update && apt-get install -y \
gcc \
g++ \
Expand All @@ -9,17 +11,25 @@ RUN apt-get update && apt-get install -y \
curl \
&& rm -rf /var/lib/apt/lists/*

# Set working directory
WORKDIR /app

# Set Hugging Face mirror
ENV HF_ENDPOINT=https://hf-mirror.com

COPY requirements.txt .
# Install Python packages
COPY docker/requirements.txt .
RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt

RUN pip install chonkie
# Copy application code
COPY docker/ ./docker/
COPY src/ ./src/

COPY ../. .
# Set Python import path
ENV PYTHONPATH=/app/src

# Expose port
EXPOSE 8000

# Start the docker
CMD ["uvicorn", "memos.api.product_api:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
12 changes: 7 additions & 5 deletions docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ name: memos-dev

services:
memos:
container_name: memos-api-server
container_name: memos-api-docker
build:
context: ..
dockerfile: Dockerfile
dockerfile: docker/Dockerfile
ports:
- "8000:8000"
env_file:
Expand All @@ -15,14 +15,16 @@ services:
- qdrant
environment:
- PYTHONPATH=/app/src
- HF_ENDPOINT=https://hf-mirror.com
volumes:
- .:/app
- ../src:/app/src
- .:/app/docker
networks:
- memos_network

neo4j:
image: neo4j:5.26.4
container_name: neo4j-server
container_name: neo4j-docker
ports:
- "7474:7474" # HTTP
- "7687:7687" # Bolt
Expand All @@ -43,7 +45,7 @@ services:

qdrant:
image: qdrant/qdrant:v1.15.0
container_name: qdrant-server
container_name: qdrant-docker
ports:
- "6333:6333" # REST API
- "6334:6334" # gRPC API
Expand Down
45 changes: 45 additions & 0 deletions docker/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,33 @@ annotated-types==0.7.0 ; python_version >= "3.10" and python_version < "4.0"
anyio==4.9.0 ; python_version >= "3.10" and python_version < "4.0"
attrs==25.3.0 ; python_version >= "3.10" and python_version < "4.0"
authlib==1.6.0 ; python_version >= "3.10" and python_version < "4.0"
beautifulsoup4==4.13.4 ; python_version >= "3.10" and python_version < "4.0"
certifi==2025.7.14 ; python_version >= "3.10" and python_version < "4.0"
cffi==1.17.1 ; python_version >= "3.10" and python_version < "4.0" and platform_python_implementation != "PyPy"
cfgv==3.4.0 ; python_version >= "3.10" and python_version < "4.0"
charset-normalizer==3.4.2 ; python_version >= "3.10" and python_version < "4.0"
chonkie==1.1.1 ; python_version >= "3.10" and python_version < "4.0"
click==8.2.1 ; python_version >= "3.10" and python_version < "4.0"
cobble==0.1.4 ; python_version >= "3.10" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and (platform_system == "Windows" or sys_platform == "win32")
coloredlogs==15.0.1 ; python_version >= "3.10" and python_version < "4.0"
cryptography==45.0.5 ; python_version >= "3.10" and python_version < "4.0"
cyclopts==3.22.2 ; python_version >= "3.10" and python_version < "4.0"
defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4.0"
distlib==0.4.0 ; python_version >= "3.10" and python_version < "4.0"
distro==1.9.0 ; python_version >= "3.10" and python_version < "4.0"
dnspython==2.7.0 ; python_version >= "3.10" and python_version < "4.0"
docstring-parser==0.16 ; python_version >= "3.10" and python_version < "4.0"
docutils==0.21.2 ; python_version >= "3.10" and python_version < "4.0"
email-validator==2.2.0 ; python_version >= "3.10" and python_version < "4.0"
et-xmlfile==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
exceptiongroup==1.3.0 ; python_version >= "3.10" and python_version < "4.0"
fastapi-cli==0.0.8 ; python_version >= "3.10" and python_version < "4.0"
fastapi-cloud-cli==0.1.4 ; python_version >= "3.10" and python_version < "4.0"
fastapi==0.115.14 ; python_version >= "3.10" and python_version < "4.0"
fastmcp==2.10.5 ; python_version >= "3.10" and python_version < "4.0"
filelock==3.18.0 ; python_version >= "3.10" and python_version < "4.0"
flatbuffers==25.2.10 ; python_version >= "3.10" and python_version < "4.0"
fsspec==2025.7.0 ; python_version >= "3.10" and python_version < "4.0"
greenlet==3.2.3 ; python_version >= "3.10" and python_version < "3.14" and (platform_machine == "aarch64" or platform_machine == "ppc64le" or platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "win32" or platform_machine == "WIN32")
h11==0.16.0 ; python_version >= "3.10" and python_version < "4.0"
Expand All @@ -29,33 +38,59 @@ httptools==0.6.4 ; python_version >= "3.10" and python_version < "4.0"
httpx-sse==0.4.1 ; python_version >= "3.10" and python_version < "4.0"
httpx==0.28.1 ; python_version >= "3.10" and python_version < "4.0"
huggingface-hub==0.33.4 ; python_version >= "3.10" and python_version < "4.0"
humanfriendly==10.0 ; python_version >= "3.10" and python_version < "4.0"
identify==2.6.12 ; python_version >= "3.10" and python_version < "4.0"
idna==3.10 ; python_version >= "3.10" and python_version < "4.0"
iniconfig==2.1.0 ; python_version >= "3.10" and python_version < "4.0"
itsdangerous==2.2.0 ; python_version >= "3.10" and python_version < "4.0"
jinja2==3.1.6 ; python_version >= "3.10" and python_version < "4.0"
jiter==0.10.0 ; python_version >= "3.10" and python_version < "4.0"
joblib==1.5.1 ; python_version >= "3.10" and python_version < "4.0"
jsonschema-specifications==2025.4.1 ; python_version >= "3.10" and python_version < "4.0"
jsonschema==4.24.1 ; python_version >= "3.10" and python_version < "4.0"
lxml==6.0.0 ; python_version >= "3.10" and python_version < "4.0"
magika==0.6.2 ; python_version >= "3.10" and python_version < "4.0"
mammoth==1.9.1 ; python_version >= "3.10" and python_version < "4.0"
markdown-it-py==3.0.0 ; python_version >= "3.10" and python_version < "4.0"
markdownify==1.1.0 ; python_version >= "3.10" and python_version < "4.0"
markitdown==0.1.2 ; python_version >= "3.10" and python_version < "4.0"
markupsafe==3.0.2 ; python_version >= "3.10" and python_version < "4.0"
mcp==1.12.0 ; python_version >= "3.10" and python_version < "4.0"
mdurl==0.1.2 ; python_version >= "3.10" and python_version < "4.0"
mpmath==1.3.0 ; python_version >= "3.10" and python_version < "4.0"
neo4j==5.28.1 ; python_version >= "3.10" and python_version < "4.0"
nodeenv==1.9.1 ; python_version >= "3.10" and python_version < "4.0"
numpy==2.2.6 ; python_version == "3.10"
numpy==2.3.1 ; python_version >= "3.11" and python_version < "4.0"
ollama==0.4.9 ; python_version >= "3.10" and python_version < "4.0"
onnxruntime==1.22.1 ; python_version >= "3.10" and python_version < "4.0"
openai==1.97.0 ; python_version >= "3.10" and python_version < "4.0"
openapi-pydantic==0.5.1 ; python_version >= "3.10" and python_version < "4.0"
openpyxl==3.1.5 ; python_version >= "3.10" and python_version < "4.0"
orjson==3.11.0 ; python_version >= "3.10" and python_version < "4.0"
packaging==25.0 ; python_version >= "3.10" and python_version < "4.0"
pandas==2.3.1 ; python_version >= "3.10" and python_version < "4.0"
pdfminer-six==20250506 ; python_version >= "3.10" and python_version < "4.0"
pillow==11.3.0 ; python_version >= "3.10" and python_version < "4.0"
platformdirs==4.3.8 ; python_version >= "3.10" and python_version < "4.0"
pluggy==1.6.0 ; python_version >= "3.10" and python_version < "4.0"
pre-commit==4.2.0 ; python_version >= "3.10" and python_version < "4.0"
protobuf==6.31.1 ; python_version >= "3.10" and python_version < "4.0"
pycparser==2.22 ; python_version >= "3.10" and python_version < "4.0" and platform_python_implementation != "PyPy"
pydantic-core==2.33.2 ; python_version >= "3.10" and python_version < "4.0"
pydantic-extra-types==2.10.5 ; python_version >= "3.10" and python_version < "4.0"
pydantic-settings==2.10.1 ; python_version >= "3.10" and python_version < "4.0"
pydantic==2.11.7 ; python_version >= "3.10" and python_version < "4.0"
pygments==2.19.2 ; python_version >= "3.10" and python_version < "4.0"
pyperclip==1.9.0 ; python_version >= "3.10" and python_version < "4.0"
pyreadline3==3.5.4 ; python_version >= "3.10" and python_version < "4.0" and sys_platform == "win32"
pytest-asyncio==0.23.8 ; python_version >= "3.10" and python_version < "4.0"
pytest==8.4.1 ; python_version >= "3.10" and python_version < "4.0"
python-dateutil==2.9.0.post0 ; python_version >= "3.10" and python_version < "4.0"
python-dotenv==1.1.1 ; python_version >= "3.10" and python_version < "4.0"
python-multipart==0.0.20 ; python_version >= "3.10" and python_version < "4.0"
python-pptx==1.0.2 ; python_version >= "3.10" and python_version < "4.0"
pytz==2025.2 ; python_version >= "3.10" and python_version < "4.0"
pywin32==311 ; python_version >= "3.10" and python_version < "4.0" and (platform_system == "Windows" or sys_platform == "win32")
pyyaml==6.0.2 ; python_version >= "3.10" and python_version < "4.0"
referencing==0.36.2 ; python_version >= "3.10" and python_version < "4.0"
Expand All @@ -66,27 +101,37 @@ rich-toolkit==0.14.8 ; python_version >= "3.10" and python_version < "4.0"
rich==14.0.0 ; python_version >= "3.10" and python_version < "4.0"
rignore==0.6.2 ; python_version >= "3.10" and python_version < "4.0"
rpds-py==0.26.0 ; python_version >= "3.10" and python_version < "4.0"
ruff==0.11.13 ; python_version >= "3.10" and python_version < "4.0"
safetensors==0.5.3 ; python_version >= "3.10" and python_version < "4.0"
schedule==1.2.2 ; python_version >= "3.10" and python_version < "4.0"
scikit-learn==1.7.0 ; python_version >= "3.10" and python_version < "4.0"
scipy==1.15.3 ; python_version == "3.10"
scipy==1.16.0 ; python_version >= "3.11" and python_version < "4.0"
sentry-sdk==2.33.0 ; python_version >= "3.10" and python_version < "4.0"
shellingham==1.5.4 ; python_version >= "3.10" and python_version < "4.0"
six==1.17.0 ; python_version >= "3.10" and python_version < "4.0"
sniffio==1.3.1 ; python_version >= "3.10" and python_version < "4.0"
soupsieve==2.7 ; python_version >= "3.10" and python_version < "4.0"
sqlalchemy==2.0.41 ; python_version >= "3.10" and python_version < "4.0"
sse-starlette==2.4.1 ; python_version >= "3.10" and python_version < "4.0"
starlette==0.46.2 ; python_version >= "3.10" and python_version < "4.0"
sympy==1.14.0 ; python_version >= "3.10" and python_version < "4.0"
tenacity==9.1.2 ; python_version >= "3.10" and python_version < "4.0"
threadpoolctl==3.6.0 ; python_version >= "3.10" and python_version < "4.0"
tokenizers==0.21.2 ; python_version >= "3.10" and python_version < "4.0"
tomli==2.2.1 ; python_version == "3.10"
tqdm==4.67.1 ; python_version >= "3.10" and python_version < "4.0"
transformers==4.53.2 ; python_version >= "3.10" and python_version < "4.0"
typer==0.16.0 ; python_version >= "3.10" and python_version < "4.0"
typing-extensions==4.14.1 ; python_version >= "3.10" and python_version < "4.0"
typing-inspection==0.4.1 ; python_version >= "3.10" and python_version < "4.0"
tzdata==2025.2 ; python_version >= "3.10" and python_version < "4.0"
ujson==5.10.0 ; python_version >= "3.10" and python_version < "4.0"
urllib3==2.5.0 ; python_version >= "3.10" and python_version < "4.0"
uvicorn==0.35.0 ; python_version >= "3.10" and python_version < "4.0"
uvloop==0.21.0 ; python_version >= "3.10" and python_version < "4.0" and platform_python_implementation != "PyPy" and sys_platform != "win32" and sys_platform != "cygwin"
virtualenv==20.31.2 ; python_version >= "3.10" and python_version < "4.0"
watchfiles==1.1.0 ; python_version >= "3.10" and python_version < "4.0"
websockets==15.0.1 ; python_version >= "3.10" and python_version < "4.0"
xlrd==2.0.2 ; python_version >= "3.10" and python_version < "4.0"
xlsxwriter==3.2.5 ; python_version >= "3.10" and python_version < "4.0"