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

161 lines
6.8 KiB
Markdown

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