Skip to content

Publishing Docs#

We use mkdocs and mike for publishing docs to This guide will provide a simple how-to on how to configure and deploy newly added docs to our website.


Install mike:

  • All docs must live under the docs directory (I.E., changes to the main are not reflected in the website).
  • Add a new link under nav in the main mkdocs.yml file:
  - Overview:
  - Creating A Cluster:
      - Quick Start Guide:
      - Run in Docker:
      - Single node set-up:
  - Configuration Reference:
      - Architecture:
      - Networking:
      - Configuration Options:
      - Using Cloud Providers:
      - Running k0s with Traefik: examples/
      - Running k0s as a service:
      - k0s CLI Help Pages: cli/
  - Deploying Manifests:
  - FAQ:
  - Troubleshooting:
  - Contributing:
      - Overview: contributors/
      - Workflow: contributors/
      - Testing: contributors/
  • Once your changes are pushed to main, the "Publish Docs" jos will start running:
  • You should see the deployment outcome in the gh-pages deployment page:

Testing docs locally#

We've got a dockerized setup for easily testing docs locally. Simply run make docs-serve-dev. The docs will be available on http://localhost:8000.

Note If you have something already running locally on port 8000 you can choose another port like so: make docs-serve-dev DOCS_DEV_PORT=9999. The docs will then be available on http://localhost:9999.