Ceci est une ancienne révision du document !
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
apt-get install sqlite curl apt-transport-https git bzip2
il faut utiliser les backports:
apt-get -t stretch-backport install npm
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" >> tee -a /etc/apt/sources.list.d/nodesource.list apt-get update apt-get install nodejs
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"
Prendre cette page
Prendre cette page
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
mkdir /var/lib/lxc/codimd-plus lvcreate -L10G -n lxc_codimd-plus troll3-vg mkfs.ext4 /dev/mapper/troll3--vg-lxc_codimd--plus mount /dev/troll3-vg/lxc_codimd-plus /var/lib/lxc/codimd-plus/
Ajout de la ligne correspondante avec vim
:
/dev/troll3-vg/lxc_codimd-plus /var/lib/lxc/codimd-plus/ ext4 defaults 0 2
: Commande à éviter car elle oblige à arrêter l'instance de prod:
lxc-clone -o codimd -n codimd-plus
sudo lxc-create -n codimd-plus -t debian -- -r jessie
lxc-ls -f --fancy-format ipv4 | sort -h
Modifier les champs suivants: lxc.network.hwaddr
et lxc.network.ipv4
Lance, puis arrêter le conteneur de dev pour générer les fichiers d'init.
lxc-start -d --name codimd-plus lxc-stop --name codimd-plus
ATTENTION: Mettre bien nice pour ne pas perturber les services déjà déployés.
nice -n 15 rsync -av /var/lib/lxc/codimd/rootfs/ /var/lib/lxc/codimd-plus/rootfs/
createuser --pwprompt codimd-plus createdb -O codimd-plus codimd-plus
TODO
TODO
TODO
Vu sur le forum de ArchLinux: ajouter cette ligne dans /opt/codimd/.bashrc
export XDG_RUNTIME_DIR=/run/user/$UID
mv .config/systemd/user/codimd{,-plus}.service