This repository holds the source for the Armbian documentation site published at docs.armbian.com. It is the central knowledge base for the Armbian OS, the armbian-config utility, per-application software pages, and the Armbian build framework.
The content in this repo is meant for storage and quick glances; the official rendered output is the website: https://docs.armbian.com.
The site is built with MkDocs using the Material for MkDocs theme. Pages are written in Markdown and stored under docs/; images live under docs/images/. Site configuration is in mkdocs.yml and theme overrides in overrides/.
Automation is written in Python (tools/) and orchestrated with GitHub Actions workflows under .github/workflows/. A local convenience wrapper serve-docs-local.sh (Bash) reproduces the CI staging steps for offline preview.
docs/ Markdown sources (organised by topic)
images/ Images referenced by the docs
build-framework/ Armbian build framework guide
config/ armbian-config pages
software/ Per-application SEO pages
status/ Auto-generated status pages (mirrors, apt repo, etc.)
releases/ Release notes and release model
overrides/ MkDocs Material theme overrides (main.html)
tools/ Python helpers (see tools/README.md)
.github/workflows/ CI/automation
mkdocs.yml Site configuration
requirements.txt Python dependencies for building the site
serve-docs-local.sh Local preview wrapper (Bash)
See .github/DOCUMENT_TEMPLATE.md before writing new content.
You can contribute to Armbian Documentation directly on GitHub by editing files under docs/ and opening a pull request. To enjoy a fully rendered local preview with proper styling and live reload, set up MkDocs locally as shown below.
Ensure Python and the necessary development packages are installed:
sudo apt-get update
sudo apt-get install python3 python3-pip python3-venv python3-devOn Debian you may also need the following packages for mkdocs-material:
sudo apt-get install libcairo2 pango1.0-toolsgit clone https://github.com/armbian/documentation
cd documentationSet up a Python virtual environment to isolate the project dependencies:
python3 -m venv .venv
source .venv/bin/activate
pip install --use-pep517 -r requirements.txtmkdocs build --clean
mkdocs serve -a 0.0.0.0:8000Then open http://localhost:8000. The site reloads automatically when you edit .md files.
💡 Tip: use the local preview to verify formatting and layout before committing your changes.
The serve-docs-local.sh helper reproduces the CI "Pull from Armbian config" staging steps locally, generates the software pages from a sibling armbian/configng checkout, stages them into docs/, and serves the site:
./serve-docs-local.sh # generate + stage + serve at http://127.0.0.1:8000
./serve-docs-local.sh build # generate + stage + one-shot build into ./site
./serve-docs-local.sh clean # revert staged generated pagesAfter adding a new page, either hand-edit mkdocs.yml, or re-run tools/mkArmbianDocs.py unless you are changing the structure of the docs/ folder.
python3 tools/mkArmbianDocs.py && mkdocs buildThis regenerates mkdocs.yml from the current contents of docs/ and publishes the built HTML to site/.
Additional helpers in tools/ (see tools/README.md):
build-software-nav.py— regenerates the software section of themkdocs.ymlnav.generate-release-index.py— regeneratesdocs/releases/index.mdfrom the release pages beside it.apt-repo-status.py,build-machinery-status.py,download-images-report.py— generate the auto-updated status pages underdocs/status/.
Automation (PR previews, site release, status-page refreshes, label sync, mirror list pulls, extensions list pulls, etc.) is implemented as GitHub Actions workflows under .github/workflows/. For a live overview of all runs in this repository, see the Armbian CI dashboard:
- Website: https://www.armbian.com
- Documentation: https://docs.armbian.com
- Source: https://github.com/armbian/documentation
This project is licensed under the GNU General Public License v3.0. See LICENSE for details.
