1
0
Bifurcation 0
miroir de https://github.com/PAPAMICA/Wiki-Tech.io.git synchronisé 2024-12-28 10:30:24 +01:00

docs: update SelfHosted/WikiJS

Cette révision appartient à :
Mickael Asseline 2021-10-03 15:52:20 +00:00 révisé par Mickael Asseline
Parent 4bcb5eef96
révision 689f72c72c

Voir le fichier

@ -2,7 +2,7 @@
title: Wiki.js
description: Un jolie wiki autohébergé !
published: true
date: 2021-10-03T15:19:41.943Z
date: 2021-10-03T15:52:18.845Z
tags:
editor: markdown
dateCreated: 2021-05-24T14:15:33.855Z
@ -13,8 +13,161 @@ dateCreated: 2021-05-24T14:15:33.855Z
# Présentation
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.
Wiki-Tech.io fonctionne avec Wiki.js depuis ses débuts sous Docker !
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
# Installation
## 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}
# Configuration