--- /dev/null
+FROM alpine:latest
+
+ENV MKDOCS_VERSION=1.2.3 \
+ PYTHONUNBUFFERED=1
+
+
+RUN apk add --update \
+ ca-certificates \
+ python3 \
+ python3-dev \
+ py3-pip \
+ build-base && \
+ pip install --upgrade pip && \
+ pip install mkdocs==${MKDOCS_VERSION} \
+ mkdocs-material \
+ mkdocs-minify-plugin \
+ mkdocs-redirects \
+ mkdocs-enumerate-headings-plugin && \
+ rm -rf /tmp/* /var/tmp/* /var/cache/apk/* /var/cache/distfiles/*
+
+COPY rootfs /
+
+CMD [ "mkdocs", "serve", "--dev-addr", "0.0.0.0:8000" ]
--- /dev/null
+# Undernet Document (db.undernet.org)
+
+## MkDocs
+
+The documentation is written in MarkDown and uses the [MkDocs](https://www.mkdocs.org/)
+framework. It currently capable of generating a searchable website and a PDF
+of the content.
+
+## Usage
+
+There are currently two ways to run MkDocs locally to preview changes in real-time.
+
+
+### Local installation
+
+*Requirements:**
+
+- Python 3.x
+- pipenv
+- pango
+
+#### Installing MkDocs using pipenv
+
+`$ pipenv install`
+
+#### Running MkDocs
+
+`$ pipenv shell`
+`$ mkdocs serve`
+
+
+### Using docker and docker-compose
+
+`$ docker-compose up`
--- /dev/null
+version: '3'
+
+services:
+ mkdocs:
+ container_name: undernet-charter
+ working_dir: /app
+ build: .
+ restart: always
+ ports:
+ - "8000:8000"
+ volumes:
+ - ./:/app
--- /dev/null
+#!/usr/bin/env bash
+
+set -e
+
+if [ "${1:0:1}" = '-' ]; then
+ set -- mkdocs "$@"
+fi
+
+case "$1" in
+ build|gh-deploy|new|serve)
+ set -- mkdocs "$@"
+ ;;
+esac