1
0
Bifurcation 0
miroir de https://github.com/PAPAMICA/Wiki-Tech.io.git synchronisé 2024-11-27 11:41:14 +01:00
Wiki-Tech.io/SelfHosted/WikiJS.md

198 lignes
6 Kio
Markdown
Brut Vue normale Historique

2021-10-03 11:54:36 +02:00
---
title: Wiki.js
description: Un jolie wiki autohébergé !
published: true
2021-11-11 10:10:40 +01:00
date: 2021-10-03T16:10:24.432Z
2021-10-03 11:54:36 +02:00
tags:
editor: markdown
dateCreated: 2021-05-24T14:15:33.855Z
---
2021-10-03 12:14:11 +02:00
![](https://cdn-images.threadless.com/threadless-media/artist_shops/shops/wikijs/profile/logo-1531876777-e927870eea78296b4aa681910b70a189.png?v=3&d=eyJvbmx5X21ldGEiOiBmYWxzZSwgImZvcmNlIjogZmFsc2UsICJvcHMiOiBbWyJyZXNpemUiLCBbNjAwLCAyNTBdLCB7fV1dfQ==)
2021-10-03 11:54:36 +02:00
# Présentation
2021-10-03 17:19:43 +02:00
Wiki.js est un outils selfhosted développé en javascript qui permet de mettre en place simplement un système de wiki puissant, complet et jolie.
2021-10-03 17:56:33 +02:00
L'un des gros avantages de ce dernier c'est la synchronisation avec git directement pour la sauvegarde et le versionning.
2021-10-03 17:19:43 +02:00
Wiki-Tech.io fonctionne avec Wiki.js depuis ses débuts sous Docker !
2021-10-03 17:52:20 +02:00
La version 3.0 devrais sortir d'ici la fin d'année avec beaucoup de nouveautés:
Site officiel : https://js.wiki
Documentation : https://docs.requarks.io
2021-10-03 11:54:36 +02:00
# Installation
2021-10-03 17:52:20 +02:00
## Linux
1. Téléchargez la dernière version de Wiki.js:
```bash
wget https://github.com/Requarks/wiki/releases/download/2.5.219/wiki-js.tar.gz
```
2. Décompressez l'archive dan s le dossier final de l'application :
```bash
mkdir wiki
tar xzf wiki-js.tar.gz -C ./wiki
cd ./wiki
```
3. Renommez le fichier `config.sample.yml` en `config.yml` :
```bash
mv config.sample.yml config.yml
```
4. Editez le fichier de config et remplissez les informations de votre base de données et de port : ([Configuration Reference](/install/config)):
```bash
nano config.yml
```
5. ***Pour l'installation avec SQLite:*** *(ignorez cette etape sinon)* Récupère les liaisons natives pour SQLite3 :
```bash
npm rebuild sqlite3
```
6. Lancez Wiki.js
```bash
node server
```
7. Attendez que vous soyez invité à ouvrir la page de configuration dans votre navigateur.
8. Complétez l'assistant de configuration pour terminer l'installation.
### Run as service
Il existe plusieurs solutions pour exécuter Wiki.js en tant que service en arrière-plan. Nous allons nous concentrer sur **systemd** dans ce guide car il est disponible dans presque toutes les distributions linux.
1. Créez un nouveau fichier nommé `wiki.service` dans le répertoire `/etc/systemd/system`.
```bash
nano /etc/systemd/system/wiki.service
```
2. Collez le contenu suivant (en supposant que votre wiki est installé dans `/var/wiki`) :
```ini
[Unit]
Description=Wiki.js
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
# Consider creating a dedicated user for Wiki.js here:
User=nobody
Environment=NODE_ENV=production
WorkingDirectory=/var/wiki
[Install]
WantedBy=multi-user.target
```
3. Sauvegardez le fichier (<kbd>CTRL</kbd>+<kbd>X</kbd>, suivis de <kbd>Y</kbd>).
4. Redémarrez systemd :
```bash
systemctl daemon-reload
```
5. Lancez le service :
```bash
systemctl start wiki
```
6. Activez le service au démarrage :
```bash
systemctl enable wiki
```
> Vous pouvez consultez les logs du service avec `journalctl -u wiki`
{.is-info}
## Docker
Vous pouvez directement utiliser mon template d'application avec Portainer disponible [ici](https://github.com/PAPAMICA/docker-compose-collection) ou le lancer avec le docker compose suivant :
```yaml
version: "2"
services:
wiki-db:
image: postgres:11-alpine
container_name: wiki-db
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: $DB_PASSWORD
POSTGRES_USER: $DB_USER
restart: unless-stopped
volumes:
- $DATA_LOCATION/db:/var/lib/postgresql/data
# Facultatif
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
wiki:
image: requarks/wiki:2
container_name: wiki
depends_on:
- wiki-db
environment:
DB_TYPE: postgres
DB_HOST: wiki-db
DB_PORT: 5432
DB_USER: $DB_USER
DB_PASS: $DB_PASSWORD
DB_NAME: wiki
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost:3000 || exit 1
interval: 1m
timeout: 30s
retries: 3
# Facultatif
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
labels:
- "traefik.enable=true"
- "traefik.http.routers.wiki.entrypoints=http"
- "traefik.http.routers.wiki.rule=Host(`$URL`)"
- "traefik.http.middlewares.wiki-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.wiki.middlewares=$SERVICE-https-redirect"
- "traefik.http.routers.wiki-secure.entrypoints=https"
- "traefik.http.routers.wiki-secure.rule=Host(`$URL`)"
- "traefik.http.routers.wiki-secure.tls=true"
- "traefik.http.routers.wiki-secure.tls.certresolver=http"
- "traefik.http.services.wiki-secure.loadbalancer.server.port=3000"
- "traefik.docker.network=proxy"
networks:
proxy:
external:
name: proxy
```
> Pensez à changer dans le docker-compose ou à définir les variables suivantes : **DB_USER**, **DB_PASSWORD**, **URL_LOKI** et **URL** en fonction de votre installation.
{.is-warning}
2021-10-03 11:54:36 +02:00
# Configuration
2021-10-03 17:56:33 +02:00
## Configurer Git
2021-10-03 18:10:24 +02:00
Pour l'activer il vous suffit de vous rendre dans la catégorie stockage pour activer Git.
![image_2021-10-03_180716.png](/images/selfhosted/wikijs/image_2021-10-03_180716.png)
Une fois activé, il ne vous reste plus qu'à rentrer vos informations de connexions à votre git !
2021-10-03 11:54:36 +02:00
## Masquer la table des matières
2021-10-03 17:56:33 +02:00
Pour masquer la table des matières dans certaines pages, vous pouvez utiliser ce petit bout de CSS pour la page en question :
2021-10-03 18:10:24 +02:00
![wiki_wikijs_matiere.png](/images/selfhosted/wikijs/wiki_wikijs_matiere.png)
2021-10-03 11:54:36 +02:00
```css
.page-col-sd {
margin-top: 0;
align-self: flex-start;
position: sticky;
top: 64px;
max-height: calc(100vh - 64px);
overflow-y: auto;
-ms-overflow-style: none;
display: none
}
.flex.lg9 {
flex-basis: 100%!important;
flex-grow: 0;
max-width: 100%!important
}
```