161 lines
6.8 KiB
Markdown
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
|