FROM python:3.12-slim

WORKDIR /app

COPY pyproject.toml ./
COPY bookstack_mcp ./bookstack_mcp

RUN pip install --no-cache-dir . \
    && useradd --system --create-home --home-dir /home/bookstack-mcp --shell /usr/sbin/nologin bookstack-mcp

# fastmcp writes OAuth client registrations/caches under $HOME; point it at the
# service user's own home instead of the default root-owned locations.
ENV HOME=/home/bookstack-mcp \
    XDG_DATA_HOME=/home/bookstack-mcp/.local \
    XDG_CONFIG_HOME=/home/bookstack-mcp/.config \
    XDG_CACHE_HOME=/home/bookstack-mcp/.cache \
    PYTHONUNBUFFERED=1

USER bookstack-mcp
EXPOSE 8080

CMD ["python", "-m", "bookstack_mcp"]
