generated from coulomb/repo-seed
CI matrix (Python 3.11/3.12) with pip cache and coverage job. PyPI publish workflow (OIDC trusted publishing, triggered on v*.*.* tags). Docker image for REST service with non-root user + ghcr.io push workflow. markidocx --version flag. Diagram optional extras (diagram-mermaid/graphviz/plantuml) and readme/urls in pyproject.toml. CHANGELOG.md (Keep a Changelog format) with retrospective v0.1.0 entry. docs/release-process.md with executable checklist. All 272 tests pass; ruff and mypy clean; twine check PASSED. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
20 lines
338 B
Docker
20 lines
338 B
Docker
FROM python:3.12-slim
|
|
|
|
# Create non-root user
|
|
RUN useradd --create-home --shell /bin/bash appuser
|
|
|
|
WORKDIR /app
|
|
|
|
# Install markidocx
|
|
COPY pyproject.toml ./
|
|
COPY src/ ./src/
|
|
RUN pip install --no-cache-dir .
|
|
|
|
# Switch to non-root user
|
|
USER appuser
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["markidocx", "serve"]
|
|
CMD ["--host", "0.0.0.0", "--port", "8080"]
|