--- title: Raneto created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, wiki, documentation, markdown, nodejs, express, simple, docker] confidence: medium contested: true sources: [https://selfh.st/apps/?tag=wiki] --- # 🪐 Raneto > Wiki documentaire alimenté par **fichiers Markdown** rangés dans un dossier, sans base de données. Minimaliste, rapide à mettre en place, idéal pour publier la doc d'un projet en quelques minutes. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | [raneto.com](https://raneto.com/) | | **GitHub** | [gilbitron/Raneto](https://github.com/gilbitron/Raneto) | | **License** | MIT | | **Langage** | Node.js / Express | | **Étoiles** | ⭐ 441 | | **Dernière MAJ** | 2026-04-12 | | **Catégorie** | [[cat-wiki]] | ## Description Raneto est un **générateur de wiki statique en Markdown**, écrit en Node.js sur Express, dont la promesse est simple : créer un site de documentation en déposant des fichiers `.md` dans un dossier, sans BDD, sans admin, sans complication. Le principe rappelle Docusaurus et MkDocs, mais en plus léger et en plus « déployable en tant qu'app ». Le contenu est organisé dans un dossier `content/` avec une hiérarchie de fichiers Markdown ; Raneto lit l'arborescence, génère le menu, la navigation, et sert le tout via Express. L'éditeur se fait donc côté **système de fichiers** (vim, VSCode, votre éditeur préféré) ou via l'admin web minimal (édition simple de Markdown). Le moteur de templates est **Handlebars**, ce qui permet de customiser le thème. Raneto est un projet de **Gilbert Pellegrom**, qui l'a initié en 2014 et dont l'activité de maintenance est devenue sporadique. Le dépôt principal (gilbitron/Raneto) est donc en mode maintenance plutôt qu'évolution active — c'est la raison du flag `contested: true` sur cette fiche (existence de forks actifs comme `LinuxUser255/Raneto-Plus` qui reprennent le flambeau). Raneto est pertinent pour qui veut un **wiki Markdown minimaliste, sans stack moderne**. Pour un wiki plus moderne, on préférera [[app-wiki-js]] (Node, BDD) ou [[app-docmost]] (NestJS, temps réel). Pour de la doc statique, [[app-mkdocs]] (Python) et [[app-docusaurus]] (Node/MDX) sont des alternatives plus actives. ## Installation ### Option 1 : Docker Compose L'image `raneto/raneto:latest` n'est plus mise à jour sur le Hub officiel. On utilise souvent un `Dockerfile` minimal ou l'image `node:18-alpine` avec un clone du dépôt. ```yaml # docker-compose.yml services: raneto: build: context: . dockerfile: Dockerfile container_name: raneto restart: unless-stopped environment: - NODE_ENV=production - PORT=3000 volumes: - ./content:/raneto/content - ./config.js:/raneto/config.default.js:ro ports: - "3000:3000" ``` `Dockerfile` minimal : ```dockerfile FROM node:18-alpine RUN apk add --no-cache git RUN git clone https://github.com/gilbitron/Raneto.git /raneto WORKDIR /raneto RUN npm install --omit=dev EXPOSE 3000 CMD ["node", "server.js"] ``` ### Option 2 : Installation manuelle ```bash git clone https://github.com/gilbitron/Raneto.git cd Raneto npm install npm run start # serveur sur http://localhost:3000 ``` Prérequis : **Node.js 16+**. La config se fait dans `config.default.js` (port, thème, navbar, support de la recherche, etc.). ## Configuration Le fichier `config.default.js` (puis `config.js` pour overrides) est le centre de configuration : - `site_title`, `site_description`, `base_url` : métadonnées. - `theme` : `default` (par défaut), `custom` pour surcharger les templates Handlebars. - `navigation` : structure de menu, en YAML ou en dur. - `locale` : anglais par défaut, traductions communautaires (français partiel). - `search` : moteur intégré (recherche dans le contenu Markdown). - `image_upload` : activable/désactivable. - `auth` : activation d'un login admin simple pour l'édition depuis le web (`config.js` : `credentials: { username: 'admin', password: '...' }`). - `markdown` : options du moteur marked. Le contenu se met dans `content/` (par défaut) : ```text content/ ├── index.md ├── installation/ │ ├── index.md │ ├── linux.md │ └── windows.md ├── utilisation/ │ ├── index.md │ └── faq.md ``` ## Alternatives ### Open Source - [[app-wiki-js]] — Wiki Node.js moderne, BDD, WYSIWYG, Git backend. - [[app-docusaurus]] — Générateur statique MDX, plus riche. - [[app-mkdocs]] — Équivalent Python avec le thème Material. - [[app-dokuwiki]] — Wiki PHP vétéran, fichiers plats. - [[app-tiddlywiki]] — Wiki single-file JavaScript. - [[app-docmost]] — Wiki collaboratif moderne, temps réel. - **WikiDocs** — Wiki Node, dérivé Raneto-like. - **Anchored** — Wiki Markdown Node. ### Propriétaires (ce que Raneto remplace) - **GitBook (cloud)** — Wiki doc moderne payant, Raneto fait le job en plus simple. - **Notion (en publication)** — Pour publier de la doc, Raneto est suffisant. - **Confluence (publication publique)** — Pour exposer la doc en externe, Raneto est plus rapide à mettre en place. - **Slab** — KB collaborative payante. - **ReadTheDocs (privé)** — Raneto pour une doc interne, sans la dépendance au SaaS. ## Sécurité - ✅ **Pas de base de données** : surface d'attaque réduite, sauvegardes = `tar` du dossier. - ⚠️ L'**édition web** est protégée par un simple `username/password` dans `config.js` : insuffisant pour un usage sensible, à réserver à un réseau interne. - ✅ **HTTPS obligatoire** derrière reverse proxy (Caddy/Traefik/Nginx) + LetsEncrypt. - ⚠️ L'**upload d'images** activé expose au risque d'upload de fichiers arbitraires : à désactiver ou filtrer en production. - ⚠️ **Maintenance du projet** : le dépôt principal est peu actif. Surveiller les CVE, mettre à jour `express` et `marked` régulièrement (ou utiliser un fork comme Raneto-Plus). - ✅ **Backups** : automatiser via Borg/restic la sauvegarde du dossier `content/`. - ✅ Si on édite via Git, on profite de l'historique, des revues et de l'audit. - ⚠️ Ne pas exposer Raneto **directement sur Internet** sans reverse proxy, durcir la conf Nginx/Caddy, et activer HSTS. ## Ressources - [Site officiel Raneto](https://raneto.com/) - [Documentation Raneto](https://docs.raneto.com/) - [Dépôt GitHub gilbitron/Raneto](https://github.com/gilbitron/Raneto) - [Fork actif LinuxUser255/Raneto-Plus](https://github.com/LinuxUser255/Raneto-Plus) - [Démos et thèmes communautaires](https://github.com/sponsors/gilbitron) ## Pages Liées - [[cat-wiki]] — Vue d'ensemble de la catégorie Wiki - [[app-wiki-js]] — Wiki Node.js moderne - [[app-docusaurus]] — Doc statique MDX - [[app-mkdocs]] — Doc statique Python - [[app-dokuwiki]] — Wiki PHP vétéran - [[app-tiddlywiki]] — Wiki single-file - [[recettes-docker-compose]] — Templates Docker partagés