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

154 lines
6.8 KiB
Markdown

---
title: Wiki-Go
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, wiki, golang, flat-file, markdown, kanban, git, docker, mermaid]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Wiki, https://github.com/leomoon-studios/wiki-go]
---
# ⚡ Wiki-Go
> **Wiki flat-file moderne écrit en Go** : pas de base de données, juste du Markdown, avec recherche full-text, Mermaid, LaTeX, gestion des droits et même des **tableaux Kanban interactifs** intégrés aux pages.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [wikigo.leomoon.com](https://wikigo.leomoon.com/) (démo) |
| **GitHub** | [leomoon-studios/wiki-go](https://github.com/leomoon-studios/wiki-go) |
| **Licence** | GPL-3.0 |
| **Langage** | Go |
| **Étoiles GitHub** | 578 ⭐ |
| **Dernière MAJ** | 2026-05-28 (v1.8.10) |
| **Catégorie** | [[cat-wiki]] |
## 📝 Description
**Wiki-Go** (par *LeoMoon Studios*) est un wiki **flat-file écrit en Go** qui se positionne sur le créneau *"No database. No bloat. Zero maintenance. Just Markdown."*. Concrètement, il n'y a **aucune base de données** à configurer : tout est stocké comme fichiers Markdown sur disque, ce qui rend l'installation triviale, les sauvegardes ridicules (un `tar` du dossier) et la portabilité totale. Le binaire Go tourne avec une empreinte mémoire très faible.
Côté fonctionnalités, Wiki-Go va plus loin que la plupart des wikis flat-file : **recherche full-text** avec mise en surbrillance, **diagrammes Mermaid**, **formules LaTeX** (via MathJax), **coloration syntaxique** multi-langages, **gestion de fichiers joints** (jpg, png, svg, pdf, docx, mp4...), **historique de versions** complet, **breadcrumbs** et **navigation latérale** personnalisable. L'**éditeur Markdown** supporte les emoji shortcodes (`:smile:`) et un système de **shortcodes custom** (ex. `:::stats recent=5:::`) pour injecter du contenu dynamique.
Le différenciateur marquant est le **Kanban intégré** : n'importe quelle page peut être transformée en **tableau Kanban interactif** avec drag & drop entre colonnes, sous-tâches imbriquées, sauvegarde automatique en temps réel et plusieurs boards par document. La **gestion des droits** supporte trois rôles (admin, editor, viewer) et des **règles d'accès par chemin** (public, privé, restreint à un groupe), suffisant pour la plupart des usages en équipe. Wiki-Go s'adresse aux utilisateurs qui veulent un wiki **plus riche qu'Otter Wiki** ou **LeafWiki** sans tomber dans la lourdeur d'un BookStack.
## 🚀 Installation
### Option recommandée : Docker Compose
```yaml
# docker-compose.yml
services:
wiki-go:
image: leomoonstudios/wiki-go
container_name: wiki-go
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/wiki/data
environment:
- WIKI_ADMIN_USER=admin
- WIKI_ADMIN_PASSWORD=change-me-strong-password
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/"]
interval: 30s
timeout: 10s
retries: 3
```
> ⚠️ Pour fonctionner derrière un reverse proxy **HTTP** (non-HTTPS), éditer `data/config.yaml` et mettre `allow_insecure_cookies: true` puis redémarrer.
### Option 2 : Docker Compose natif HTTPS (port 443)
```bash
mkdir -p ssl
# Placer fullchain.pem et privkey.pem dans ./ssl/
docker compose -f docker-compose-ssl.yml up -d
```
L'image expose à la fois les ports 8080 et 443.
### Option 3 : Binaire précompilé
Télécharger depuis [GitHub Releases](https://github.com/leomoon-studios/wiki-go/releases) :
```bash
wget https://github.com/leomoon-studios/wiki-go/releases/download/v1.8.10/wiki-go-linux-amd64.tar.gz
tar xzf wiki-go-linux-amd64.tar.gz
./wiki-go
```
### Reverse proxy Nginx
```nginx
server {
listen 443 ssl http2;
server_name wiki.example.com;
ssl_certificate /etc/letsencrypt/live/wiki.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wiki.example.com/privkey.pem;
location / {
proxy_pass http://wiki-go:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
```
## ⚙️ Configuration
- **Dossier `data/`** : contient toutes les pages Markdown, fichiers joints, configuration et base d'utilisateurs (SQLite).
- **`config.yaml`** : fichier de configuration principal (généré au premier démarrage), éditable depuis l'admin panel.
- **`allow_insecure_cookies: true`** : requis pour HTTP seul (cookies Secure refusés par les navigateurs en HTTP).
- **Personnalisation** : logos, bannières, thèmes CSS custom.
- **API RESTful** : Wiki-Go expose une API pour intégrations externes.
- **Premier compte** : `WIKI_ADMIN_USER` / `WIKI_ADMIN_PASSWORD` définis à l'init.
## 🔄 Alternatives
### Open Source
- [[app-leafwiki]] — Wiki Go single-binary, plus minimaliste (sans Kanban)
- [[app-otter-wiki]] — Wiki Python/Git, plus simple
- [[app-wikidocs]] — Wiki PHP flat-file WYSIWYG
- [[app-pepperminty-wiki]] — Wiki PHP single-file
- [[app-outline]] — Wiki TypeScript avec collaboration temps réel
- **Trilium Notes** — PKM hiérarchique
- **Wiki.js** — Wiki Node.js/Vue, plus lourd
### Propriétaires
- **Notion** — Workspace complet avec Kanban et wiki
- **Confluence** — Wiki d'entreprise Atlassian
- **Trello** — Kanban propriétaire (Wiki-Go remplace la combinaison Trello+wiki)
- **ClickUp** — Tout-en-un propriétaire
## 🔐 Sécurité
-**Pas de base de données** = surface d'attaque SQL nulle.
-**HTTPS obligatoire** en production pour que les cookies Secure fonctionnent.
- ⚠️ **`allow_insecure_cookies: true`** : à n'utiliser qu'en dev ou réseau de confiance.
-**Rôles et règles d'accès par chemin** : restreindre les pages sensibles à des groupes.
-**Backups** : un simple `tar czf backup.tar.gz data/` capture tout.
-**Reverse proxy** : cacher les headers serveur, ajouter rate-limiting.
- ⚠️ **GPL-3.0** : licence copyleft forte, à prendre en compte pour les redistributions.
-**Mises à jour** régulières, projet actif (v1.8.10 en mai 2026).
## 📚 Ressources
- [Dépôt GitHub leomoon-studios/wiki-go](https://github.com/leomoon-studios/wiki-go)
- [Démo en ligne](https://wikigo.leomoon.com/) (reset toutes les heures)
- [Releases et binaires](https://github.com/leomoon-studios/wiki-go/releases)
- [Helm chart](https://github.com/leomoon-studios/wiki-go/tree/main/helm)
- [Documentation Docker](https://github.com/leomoon-studios/wiki-go/blob/main/docker/)
## Pages Liées
- [[cat-wiki]] — Vue d'ensemble de la catégorie Wiki
- [[app-leafwiki]] — Cousin minimaliste en Go
- [[app-otter-wiki]] — Alternative Python/Git
- [[app-wikidocs]] — Alternative PHP flat-file
- [[recettes-docker-compose]] — Templates Docker
- [[securisation-home-lab]] — Bonnes pratiques de sécurité