Sofus Albert Høgsbro Rose d08f7691ab | ||
---|---|---|
.dockerignore | ||
.gitignore | ||
.pre-commit-config.yaml | ||
Dockerfile | ||
README.md | ||
run.py |
README.md
Containerized mdbook
mdbook
(https://rust-lang.github.io/mdBook/) is an easy way to generate beautiful book-like websites from simple Markdown text files.
This repository compiles and packages a ready-to-use contianer running mdbook
.
Easy Book->Website
mdbook
repositories are very clean: Just a src/
folder with a bunch of markdown text files.
docker-mdbook
makes it easy to turn that clean bundle of text files into a website deployable as a container.
Here's a multi-stage Dockerfile example:
####################
# - Stage: SSG
####################
FROM git.sofus.io/python-support/docker-mdbook:0.1.0 AS base
COPY . /src
RUN mdbook build /src --dest-dir /dist
####################
# - Stage: Serve Static Files
####################
FROM ghcr.io/static-web-server/static-web-server:2
COPY --from=base /dist /app
ENV SERVER_PORT 8787
ENV SERVER_ROOT /app
ENV SERVER_LOG_LEVEL info
USER 5020
Put this Dockerfile
in your book repository, then build & run with your favorite container tool:
podman build . --tag mybook:dev
podman run --rm -it -p 8787:8787 mybook:dev
## In your browser, go to localhost:8787
The principle is the same for hot-reloading with ex. mdbook serve
.