Skip to main content
Glama
Dockerfile1.14 kB
# Stage 1: Build dependencies with uv FROM ghcr.io/astral-sh/uv:python3.13-alpine AS uv WORKDIR /app # Copy the requirements and source code COPY pyproject.toml /app/ COPY uv.lock /app/ COPY main.py /app/ COPY .env /app/.env COPY src /app/src # Install exact dependencies from uv.lock, producing a local .venv folder with a virtual environment RUN --mount=type=cache,target=/root/.cache/uv \ --mount=type=bind,source=uv.lock,target=uv.lock \ --mount=type=bind,source=pyproject.toml,target=pyproject.toml \ uv sync --frozen --no-dev --no-editable # Stage 2: Final runtime image FROM python:3.13-alpine # Create application user and set up environment RUN adduser -D -u 1001 -h /app appuser && \ chown -R appuser:appuser /app WORKDIR /app # Copy application files from build stage COPY --from=uv --chown=appuser:appuser /app/.venv /app/.venv COPY --from=uv --chown=appuser:appuser /app /app # Set environment variables ENV PATH="/app/.venv/bin:$PATH" ENV PYTHONPATH=/app \ PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 # Switch to non-root user USER appuser EXPOSE 8000 ENTRYPOINT ["python", "main.py"]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/reltio-ai/reltio-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server