diff --git a/SelfHosted/WikiJS.md b/SelfHosted/WikiJS.md index 9858a4b..c1742a9 100644 --- a/SelfHosted/WikiJS.md +++ b/SelfHosted/WikiJS.md @@ -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 (CTRL+X, suivis de Y). +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