si:codimd

CodiMD

Se connecter au conteneur codimd sur troll3:

  sudo lxc-attach --name codimd

Ou alors directement en SSH après avoir ajouté sa clef SSH dans `/root/.ssh/authorized_keys` du conteneur :

  ssh -J root@troll3.parinux.org root@192.168.1.86
journalctl | grep yarn

Avec SystemD:

su - codimd
systemctl --user start codimd # Démarrer le service
systemctl --user stop codimd # Arrêter le service

Installation du service CodiMD

apt-get install sqlite curl apt-transport-https git bzip2

NPM

il faut utiliser les backports:

apt-get -t stretch-backport install npm

NodeJs

La version 8.5 ou supérieure étant requise, il passer par une installation manuelle en s’inspirant de cette page:

curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
VERSION=node_13.x # Désignation de la version de NodeJS, ici la dernière au moment de l'écriture de ce wiki
DISTRO=stretch
echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" >> /etc/apt/sources.list.d/nodesource.list
echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" >>  /etc/apt/sources.list.d/nodesource.list
apt-get update
apt-get install nodejs

Yarn

D'après cette procédure du projet yarn:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list
apt update && apt install yarn

Lancer la commande de création d'utilisateur codimd avec son répertoire /opt/codimd

useradd -m -d /opt/codimd/ -s /bin/bash codimd

Rester dans la session de l'utilisateur codimd pour la suite:

su - codimd

Récupérer le dépôt git sous le répertoire /opt/codimd/

git clone https://github.com/codimd/server.git

Aller dans le dossier server pour lancer l'installation de ces dépendances:

cd server
bin/setup

Modifier le bloc production du fichier config.json

  "production": {
      "domain": "codimd.parinux.org",
      "email": false,
      "allowEmailRegister": false,
      "protocolUseSSL": true,
      "loglevel": "info",
      "sessionSecret": "<sessionSecret>",
      "allowGravatar": false,

Se connecter au conteneur postgres et faire la création de l'utilisateur codimd:

su - postgres
createuser --pwprompt codimd # Attention à définir son mot de passe ensuite!
createdb -O codimd codimd

Sur le conteneur codimd, modifier le bloc db comme suit:

      "db": {
          "password": "<Mot de passe>",
          "database": "codimd",
          "host": "<Nom ou IP de la BDD>",
          "port": "5432",
          "dialect": "postgres"
          

FIXME Prendre cette page

Prendre cette page

FIXME Faire une conf adapté

D'après cette page cette page:

"ldap": {                                                                                          
    "url": "ldap://<Adresse IP du serveur LDAP>:389",
    "bindDn": "uid=codimd,ou=applications,dc=parinux,dc=org",                                      
    "bindCredentials": "<Mot de passe de la branche>",
    "searchBase": "ou=people,dc=parinux,dc=org",                                                   
    "searchFilter": "(&(objectClass=inetOrgPerson)(|(uid={{username}})(mail={{username}})))",      
    "usernameField": "uid",                                                                        
    "useridField": "uid"                                                                           
    }
yarn --cwd /opt/codimd/server --prod run build
yarn --cwd /opt/codimd/server --prod run start

Ce paragraphe s'est inspiré de cette page. Le wiki de ArchLinux fourni une page détaillée.

Lancer sous root cette commande au préalable pour activer le lancement du service au boot:

loginctl enable-linger codimd

Ensuite, se connecter sous l'utilisateur codimd.

Créer d'abord le fichier /opt/codimd/.config/systemd/user/codimd.service sous l'utilisateur codimd :

[Unit]
Description=CodiMD Server
After=network.target

[Service]
ExecStart=/usr/bin/yarn --cwd /opt/codimd/server --prod run start

[Install]
WantedBy=multi-user.target

Ensuite, activer le service codimd.service:

systemctl --user enable codimd.service

Il ne reste plus qu'à lancer le service:

systemctl --user start codimd.service

Pour avoir l'ensemble des logs du service:

journalctl | grep yarn

Pour des lignes sur une date particulière, avec l'exemple du 24 décembre 2020:

journalctl | sed -n -e '/yarn/{/2020-12-24T/p; }'

# Même chose, mais avec une variable pour éviter d'éditer directement l'expression régulière
date=2020-12-24; journalctl | sed -n -e "/yarn/{/${date}T/p; }"
  • /var/lib/dokuwiki/data/pages/si/codimd.txt
  • Dernière modification : 2021/01/11 23:13
  • de vodkra