Initial vault setup
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
---
|
||||
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é
|
||||
Reference in New Issue
Block a user