Skip to content

Serve docs statically#283

Merged
runleveldev merged 8 commits intomainfrom
runleveldev-patch-1
Apr 24, 2026
Merged

Serve docs statically#283
runleveldev merged 8 commits intomainfrom
runleveldev-patch-1

Conversation

@runleveldev
Copy link
Copy Markdown
Collaborator

@runleveldev runleveldev commented Apr 14, 2026

Rationale

The existing npm run serve service takes an additional port (2998) and introduces an extra hop to just serve static files. This PR allows NGINX to serve the files directly (which it excels at) avoiding port-in-use conflicts and simplifying operations. It also converts the site generation to Zensical to avoid Docusaurus's bloated and vulnerable dependencies, add dark mode, and support doc search.

Migration

  1. Restart container-creator.service
  2. Install uv https://docs.astral.sh/uv/getting-started/installation/
  3. cd mie-opensource-landing && uv run zensical build
  4. Reload nginx config
  5. systemctl disable --now opensource-docs.service
  6. rm /etc/systemd/system/opensource-docs.service
  7. systemctl daemon-reload

Updating documentation after this patch

Instead of running systemctl restart opensource-docs.service just run cd mie-opensource-landing && uv run zensical build

Screenshots

Light Mode

image

Dark Mode

image

Search

image

Copilot Summary

This pull request makes significant improvements to the documentation site for MIE's open source Proxmox cluster. The main changes involve switching the docs site to use static serving with NGINX instead of a Node.js service, updating deployment and build processes, and modernizing documentation links and formatting for consistency and clarity.

Deployment and Serving Changes:

  • The documentation site is now served statically using NGINX instead of being proxied to a Node.js service. This includes adding an NGINX configuration (docs-site.conf), updating the Dockerfile to install NGINX, exposing port 80, and removing Node.js service references from the Makefile and deployment scripts. [1] [2] [3] [4]

Documentation and Build Process Updates:

  • The build output is now the site/ directory, and the .gitignore and README.md have been updated to reflect the new Python/MkDocs-based workflow. The .env.example file was removed, and a .python-version file was added for Python 3.13 compatibility. [1] [2] [3] [4]

Documentation Content and Formatting Improvements:

API Documentation:

  • Added an operationId to the listSites endpoint in the OpenAPI spec for improved API documentation and code generation.

@runleveldev runleveldev force-pushed the runleveldev-patch-1 branch from 8051f6f to 3dd75f5 Compare April 15, 2026 17:19
@runleveldev runleveldev changed the title Modify serve script to use port 2998 Serve docs statically Apr 15, 2026
@runleveldev runleveldev force-pushed the runleveldev-patch-1 branch 2 times, most recently from f1412d2 to 37d23d4 Compare April 23, 2026 18:27
…s service

Replace the proxy_pass to localhost:2998 in the bare-domain nginx server
block with a root + try_files directive serving static files from the
Docusaurus build directory.

- nginx-conf.ejs: static file serving from /opt/opensource-server/mie-opensource-landing/build
- Makefile: remove systemd service install/enable/start from install-docs
- Delete mie-opensource-landing/systemd/opensource-docs.service
- Dockerfile: install nginx, serve on port 80, add standalone site config
- New images/docs/docs-site.conf for the test container

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@runleveldev runleveldev force-pushed the runleveldev-patch-1 branch 5 times, most recently from 14c16f0 to 84514b9 Compare April 24, 2026 14:26
- Replace Docusaurus 3 (React/Node.js) with Zensical + Material for MkDocs
- Convert 8 MDX files to Markdown, replace React components with native syntax
- Convert all admonitions from :::type to fg! type format
- Create landing page with Material grid cards
- Add navigation tabs, edit button, search, dark mode, Mermaid diagrams
- Fix 38+ internal links, move images to docs/assets/img/
- Remove all Docusaurus files (node_modules, src/, package.json, etc.)
- Update .gitignore and README.md for Zensical workflow

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@runleveldev runleveldev force-pushed the runleveldev-patch-1 branch from 84514b9 to 50e0b20 Compare April 24, 2026 16:49
@runleveldev runleveldev force-pushed the runleveldev-patch-1 branch from 9dec15e to 06efce5 Compare April 24, 2026 17:26
@runleveldev runleveldev force-pushed the runleveldev-patch-1 branch from 06efce5 to 61539b4 Compare April 24, 2026 17:37
Copy link
Copy Markdown
Contributor

@Bobzemob Bobzemob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@runleveldev runleveldev merged commit 4969f9e into main Apr 24, 2026
9 of 11 checks passed
@runleveldev runleveldev deleted the runleveldev-patch-1 branch April 24, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants