๐งพ Documentation Infrastructure (MkDocs + Docker + GitHub Actions)¶
This document describes how Entiqon's documentation is built and deployed using a fully containerized MkDocs setup with GitHub Pages.
๐ง Overview¶
- โ
No
/docs-site/
orgh-pages
branch is required - โ MkDocs runs inside Docker during GitHub Actions
- โ All documentation files are managed from the main branch
- โ
GitHub Pages is automatically updated on every push to
main
๐ Project Structure¶
/mkdocs.yml # MkDocs config file
/Dockerfile-documentation # Docker image for building docs
/requirements.txt # Optional for pip-based builds
/docs/ # Architecture or additional docs (optional)
/releases/ # Changelog and release notes
/*.md # Builder guides, index, overview
/.github/workflows/docs.yml # GitHub Actions deploy pipeline
/documentation-infra.md # โ This file
๐ Workflow Summary¶
- Docker container is built on GitHub Actions using
Dockerfile-documentation
- MkDocs builds the site from referenced
.md
files - Output is mounted to
/site
and uploaded to GitHub Pages
No temporary folders. No pollution. No manual builds.
๐งช Local Preview (Optional)¶
docker build -t entiqon-docs -f Dockerfile-documentation .
docker run -p 8000:8000 entiqon-docs
Visit: http://localhost:8000
๐ฆ GitHub Deployment¶
๐ For full release history, see the CHANGELOG.
GitHub Actions automatically deploys the site on push to main
.
Workflow:
.github/workflows/docs.yml
Steps:
- docker build
- mkdocs build
- Upload /site
- GitHub Pages deployment
๐ GitHub Pages Configuration¶
To ensure GitHub correctly publishes documentation built by the docs.yml
workflow:
โ Set the publishing source to GitHub Actions:¶
- Go to Settings > Pages
- In the Build and deployment section:
- Change Source from
Deploy from a branch
toGitHub Actions
- Click Save
This ensures GitHub publishes the site generated from Docker (inside GitHub Actions) rather than expecting a static /docs
folder on the main branch.
๐ก If you are using a custom domain, add a
.github/CNAME
file containing your domain name. GitHub will use this file to apply the custom domain without manual entry.
๐งฉ Contributors¶
To update documentation:
- Edit any Markdown file or mkdocs.yml
- Commit to main
- GitHub will handle the deployment
This file (documentation-infra.md
) is part of the deployed docs and should remain up to date with the current infrastructure.