Fixes noto, carbon, cbi, cib, fluent-color, logos, and solar icons silently falling back to a live api.iconify.design call blocked by the CSP, which only showed up after a hard refresh once the browser cached a partial response. nuxt.config.ts now scans content/*.md for every icon collection actually referenced and bundles it automatically, so a newly introduced collection only needs npm install, not a manual config edit.
🔧 Homelab docs & other dumb things
Docu·djeex is first and foremost a personal project aimed at self-hosting as many everyday services as possible, without relying on proprietary platforms (Google, Apple, Netflix, etc.). This documentation site is built using Nuxt.js, on the Docus theme (Nuxt UI + Nuxt Content).
This repository contains everything you need to edit pages, apply your changes, and redeploy the site. See CUSTOMIZATIONS.md for everything added on top of the base Docus theme.
Requirements
- Node.js 20 or later
- npm
Getting started
Install dependencies:
npm install
Start the dev server:
npm run dev
The site will be available at http://localhost:3000.
Build
npm run build
This builds the production site (pointed at https://docu.djeex.fr via NUXT_SITE_URL) into .output. Run it with:
node .output/server/index.mjs
Project structure
content/
├── en/ # English content, served at /en/...
└── fr/ # French content, served at /fr/...
app/
├── components/ # Custom components and overrides of Docus's own components
└── pages/ # The catch-all docs page
content.config.ts # Content collections and frontmatter schema
nuxt.config.ts # Nuxt/Docus/i18n configuration
app/app.config.ts # Theme, colors, branding
Languages
- English (
en) — default locale, served under/en - French (
fr) — served under/fr
Visiting / redirects to /en or /fr based on the visitor's browser language (or a previous choice, remembered via cookie).