Files
wiki/Catalogue-Self-Hosted/apps/app-raneto.md
T
2026-06-09 18:40:21 +02:00

6.8 KiB


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
GitHub 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.

# 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 :

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

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) :

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

Pages Liées