c7309ec56d6dc80f40ec6e39efe62fe05f0044d8
entities/wiki-web.md
| ... | ... | @@ -7,9 +7,9 @@ tags: [wiki, container, hermes, infra] |
| 7 | 7 | sources: [/docker/wiki/] |
| 8 | 8 | --- |
| 9 | 9 | |
| 10 | -# Wiki Web (Docsify) |
|
| 10 | +# Wiki Web (Gollum) |
|
| 11 | 11 | |
| 12 | -Interface web du wiki partagé Hermes, accessible publiquement (protégé par noindex). |
|
| 12 | +Interface web du wiki partagé Hermes. Moteur wiki complet avec sidebar, recherche, historique. |
|
| 13 | 13 | |
| 14 | 14 | ## URLs |
| 15 | 15 | |
| ... | ... | @@ -18,36 +18,44 @@ Interface web du wiki partagé Hermes, accessible publiquement (protégé par no |
| 18 | 18 | |
| 19 | 19 | ## Stack |
| 20 | 20 | |
| 21 | -- **Base** : `nginx:alpine` (image custom dans `/docker/wiki/Dockerfile`) |
|
| 22 | -- **Renderer** : [Docsify](https://docsify.js.org) (markdown côté client, zero build) |
|
| 23 | -- **Source** : `/root/wiki/` monté en read-only (`:ro`) |
|
| 24 | -- **Reverse proxy** : Traefik avec Let's Encrypt |
|
| 21 | +- **Image** : `gollumwiki/gollum:latest` (le wiki engine de GitHub) |
|
| 22 | +- **Port** : `127.0.0.1:4570→4567` |
|
| 23 | +- **Source** : `/root/wiki/` (repo git, monté rw pour l'index) |
|
| 24 | +- **Reverse proxy** : Traefik + Let's Encrypt |
|
| 25 | + |
|
| 26 | +## Features |
|
| 27 | + |
|
| 28 | +- **Wikilinks** `[[page]]` natifs |
|
| 29 | +- **Sidebar** automatique (navigation entre pages) |
|
| 30 | +- **Recherche** full-text |
|
| 31 | +- **Historique** git (chaque commit = version) |
|
| 32 | +- **Mode read-only** (`--no-edit` : pas d'édition web) |
|
| 33 | +- **SEO** : `X-Robots-Tag: noindex` (wiki privé) |
|
| 25 | 34 | |
| 26 | 35 | ## Fichiers |
| 27 | 36 | |
| 28 | 37 | ``` |
| 29 | 38 | /docker/wiki/ |
| 30 | 39 | ├── .env # TZ, TRAEFIK_HOST, COMPOSE_PROJECT_NAME |
| 31 | -├── Dockerfile # FROM nginx:alpine |
|
| 32 | -├── docker-compose.yml # Port 4570:80, labels Traefik |
|
| 33 | -├── index.html # Docsify SPA avec thème sombre |
|
| 34 | -└── nginx.conf # try_files → SPA fallback |
|
| 40 | +├── docker-compose.yml # Gollum + labels Traefik |
|
| 41 | +├── Dockerfile # (obsolète — plus utilisé) |
|
| 42 | +├── nginx.conf # (obsolète — plus utilisé) |
|
| 43 | +└── index.html # (obsolète — plus utilisé) |
|
| 35 | 44 | ``` |
| 36 | 45 | |
| 37 | -## Particularités |
|
| 38 | - |
|
| 39 | -- **Read-only** : le volume `/root/wiki` est en `:ro` → pas de modification via le web |
|
| 40 | -- **Recherche** : activée côté client (docsify search plugin) |
|
| 41 | -- **Wikilinks** : les `[[liens]]` sont gérés nativement par Docsify |
|
| 42 | -- **SEO** : `X-Robots-Tag: noindex, nofollow` (wiki privé) |
|
| 43 | -- **Syntax highlighting** : bash, python, yaml, json, docker |
|
| 44 | - |
|
| 45 | 46 | ## Commandes |
| 46 | 47 | |
| 47 | 48 | ```bash |
| 48 | -# Redémarrer après modif du wiki |
|
| 49 | +# Redémarrer |
|
| 49 | 50 | docker compose -f /docker/wiki/docker-compose.yml restart |
| 50 | 51 | |
| 51 | -# Reconstruire l'image |
|
| 52 | -docker compose -f /docker/wiki/docker-compose.yml up -d --build |
|
| 52 | +# Reconstruire (pull nouvelle image) |
|
| 53 | +docker compose -f /docker/wiki/docker-compose.yml pull && docker compose up -d |
|
| 53 | 54 | ``` |
| 55 | + |
|
| 56 | +## Particularités |
|
| 57 | + |
|
| 58 | +- `/root/wiki` est maintenant un **repo git** (nécessaire pour Gollum) |
|
| 59 | +- Page d'accueil : `Home.md` → symlink vers `index.md` |
|
| 60 | +- `user: root` dans le conteneur (sinon pb permissions sur bind mount) |
|
| 61 | +- Le wiki backup (`hermes-config/wiki/`) n'est pas un repo git (le .git est exclu) |