From c4a655dceec22354168b4b2da73b6595678e4a21 Mon Sep 17 00:00:00 2001 From: Kris Lamoureux Date: Tue, 15 Jul 2025 14:21:11 -0400 Subject: [PATCH] Create a MkDocs template from private repository --- .dockerignore | 6 ++++++ .gitignore | 3 +++ Dockerfile | 14 ++++++++++++++ docker-compose.yml | 18 ++++++++++++++++++ docs/index.md | 3 +++ mkdocs.yml | 23 +++++++++++++++++++++++ overrides/partials/footer.html | 0 requirements.txt | 1 + serve.sh | 7 +++++++ 9 files changed, 75 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 docs/index.md create mode 100644 mkdocs.yml create mode 100644 overrides/partials/footer.html create mode 100644 requirements.txt create mode 100755 serve.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..758de73 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +.dockerignore +.git +.gitignore +python +serve.sh +site diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e71eb4e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +python/ +site/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0f55e83 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM python:3 AS builder +WORKDIR /usr/src/app + +COPY requirements.txt ./ +RUN python -m venv ./python && \ + . ./python/bin/activate && \ + pip install --upgrade pip && \ + pip install --use-pep517 --no-cache-dir -r requirements.txt +COPY . . +RUN . ./python/bin/activate && \ + mkdocs build --clean --strict + +FROM nginx:stable AS runtime +COPY --from=builder /usr/src/app/site /usr/share/nginx/html diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..2598c38 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.7' + +networks: + traefik: + external: true + +services: + docs: + image: ${IMAGE:-git.krislamo.org/internal/docs}:${VERSION:-latest} + container_name: ${NAME:-docs} + networks: + - ${NETWORK:-traefik} + labels: + - "traefik.http.routers.${ROUTER:-docs}.rule=Host(`${HOSTNAME:-docs.local.krislamo.org}`)" + - "traefik.http.routers.${ROUTER:-docs}.entrypoints=web" + - "traefik.http.services.${ROUTER:-docs}.loadbalancer.server.port=80" + - "traefik.docker.network=traefik" + - "traefik.enable=true" diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..56bfe01 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,3 @@ +# Welcome + +Hello, world! diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..16b31ab --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,23 @@ +site_name: Example Docs +site_author: Example Org +copyright: Copyright © 2025 Kris Lamoureux + +theme: + name: material + palette: + primary: black + icon: + logo: material/server + +extra: + generator: false + social: + - icon: fontawesome/brands/git + link: https:/git.krislamo.org/kris + - icon: fontawesome/brands/docker + link: https://hub.docker.com/u/krislamo + - icon: fontawesome/brands/github + link: https://github.com/krislamo + +nav: + - Home: 'index.md' diff --git a/overrides/partials/footer.html b/overrides/partials/footer.html new file mode 100644 index 0000000..e69de29 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..29608b7 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +mkdocs-material==9.6.15 diff --git a/serve.sh b/serve.sh new file mode 100755 index 0000000..c1fbb9e --- /dev/null +++ b/serve.sh @@ -0,0 +1,7 @@ +#!/bin/bash +[ ! -d "./python" ] && python3 -m venv ./python +# shellcheck disable=SC1091 +. ./python/bin/activate +pip install -r requirements.txt +mkdocs serve +deactivate