Files
LASTA_DEV01\lasta 9e88f4c7ad ontology
2026-05-13 19:57:34 +09:00

59 lines
2.2 KiB
Docker
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ─── builder stage ───────────────────────────────────────────────────────────
FROM python:3.12-slim-bullseye AS builder
RUN apt update -y \
&& apt install -y curl git \
&& curl -LsSf https://astral.sh/uv/0.9.5/install.sh | sh \
&& rm -rf /var/lib/apt/lists/*
ENV PATH="${PATH}:/root/.local/bin"
WORKDIR /app
COPY pyproject.toml uv.lock ./
RUN touch README.md
# uv creates a venv and installs deps
RUN --mount=type=ssh uv sync --no-group dev --no-group docs -v
COPY ontocast ./ontocast
COPY README.md ./
# ─── runtime stage ────────────────────────────────────────────────────────────
FROM python:3.12-slim-bullseye AS runtime
LABEL org.opencontainers.image.title="ontocast-mcp-server" \
org.opencontainers.image.version="0.1.1" \
org.opencontainers.image.description="Ontologyassisted semantic triple extractor (MCPcompatible)"
# Install curl for healthcheck
RUN apt update -y \
&& apt install -y curl \
&& rm -rf /var/lib/apt/lists/*
# Create non-root user
RUN groupadd -r ontocast && useradd -r -g ontocast ontocast
USER ontocast
WORKDIR /app
COPY --from=builder /app /app
# ─── Volume Mounting Notes ──────────────────────────────────────────────────────
# Paths are configured via .env file (ONTOCAST_WORKING_DIRECTORY,
# ONTOCAST_ONTOLOGY_DIRECTORY, ONTOCAST_CACHE_DIR) and should be mounted
# as volumes in docker-compose to persist data and allow host access.
#
# Example docker-compose volumes:
# volumes:
# - ./data/working:/path/to/working
# - ./data/ontologies:/path/to/ontologies
# - ./data/cache:/path/to/cache
#
# Ensure the paths in .env match the container-side mount paths.
# Do NOT hardcode paths in Dockerfile - they must come from .env configuration.
# Expose & healthcheck
EXPOSE 8999
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
CMD curl -f http://localhost:8999/health || exit 1
ENTRYPOINT ["uv", "run", "ontocast"]