diff --git a/Dockerfile b/Dockerfile index 361ddbba..ffb030fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,8 +8,13 @@ ARG GID=1000 COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ # Set environment variables +# UV_PYTHON_INSTALL_DIR ensures Python is installed to a persistent location +# that survives in the final image (not in /root/.local which gets lost) +# UV_PYTHON_PREFERENCE=only-managed tells uv to use its managed Python version ENV PYTHONUNBUFFERED=1 \ - PYTHONDONTWRITEBYTECODE=1 + PYTHONDONTWRITEBYTECODE=1 \ + UV_PYTHON_INSTALL_DIR=/python \ + UV_PYTHON_PREFERENCE=only-managed # Create a group and user with the provided UID/GID # Check if the GID already exists, if not create appgroup @@ -19,9 +24,10 @@ RUN (getent group ${GID} || groupadd --gid ${GID} appgroup) && \ # Copy the project into the image ADD . /app -# Sync the project into a new environment, asserting the lockfile is up to date +# Install Python 3.13 explicitly and sync the project WORKDIR /app -RUN uv sync --locked +RUN uv python install 3.13 +RUN uv sync --locked --python 3.13 # Create necessary directories and set ownership RUN mkdir -p /app/data/basic-memory /app/.basic-memory && \ @@ -43,4 +49,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD basic-memory --version || exit 1 # Use the basic-memory entrypoint to run the MCP server with default SSE transport -CMD ["basic-memory", "mcp", "--transport", "sse", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file +CMD ["basic-memory", "mcp", "--transport", "sse", "--host", "0.0.0.0", "--port", "8000"] diff --git a/justfile b/justfile index 9e6c114a..819d9171 100644 --- a/justfile +++ b/justfile @@ -220,6 +220,11 @@ release version: echo "✅ Release {{version}} created successfully!" echo "📦 GitHub Actions will build and publish to PyPI" echo "🔗 Monitor at: https://github.com/basicmachines-co/basic-memory/actions" + echo "" + echo "📝 REMINDER: Update documentation sites after release is published:" + echo " 1. docs.basicmemory.com - Add release notes to src/pages/latest-releases.mdx" + echo " 2. basicmachines.co - Update version in src/components/sections/hero.tsx" + echo " See: .claude/commands/release/release.md for detailed instructions" # Create a beta release (e.g., just beta v0.13.2b1) beta version: @@ -281,6 +286,11 @@ beta version: echo "📦 GitHub Actions will build and publish to PyPI as pre-release" echo "🔗 Monitor at: https://github.com/basicmachines-co/basic-memory/actions" echo "📥 Install with: uv tool install basic-memory --pre" + echo "" + echo "📝 REMINDER: For stable releases, update documentation sites:" + echo " 1. docs.basicmemory.com - Add release notes to src/pages/latest-releases.mdx" + echo " 2. basicmachines.co - Update version in src/components/sections/hero.tsx" + echo " See: .claude/commands/release/release.md for detailed instructions" # List all available recipes default: