Outils pour utilisateurs

Outils du site


tech:notes_etherpad

Ceci est une ancienne révision du document !


Notes Etherpad

Installation

Voir

Voir aussi :

Notes : Redis a remplacer par Valkey

apt-get install --no-install-recommends supervisor
apt-get install --no-install-recommends npm
apt-get install --no-install-recommends git
apt-get install --no-install-recommends pigz git curl python libssl-dev pkg-config build-essential
 
mkdir -p /opt/etherpad
 
useradd -s /usr/sbin/nologin -r -M -d /opt/etherpad etherpad
# useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.
 
cd /opt/etherpad
su -s /bin/bash -l etherpad -c 'git clone https://github.com/ether/etherpad-lite'
 
ln -s $(which nodejs) /usr/local/bin/node
settings.json
  /*when you use NginX or another proxy/ load-balancer set this to true*/
  "trustProxy" : false,
 
  /* This is the path to the Abiword executable. Setting it to null, disables abiword.
     Abiword is needed to advanced import/export features of pads*/
  "abiword" : null,
 
  /* Users for basic authentication. is_admin = true gives access to /admin.
     If you do not uncomment this, /admin will not be available! */
 
  "users": {
    "admin": {
      "password": "P@ssw0rd",
      "is_admin": true
    },
    "user": {
      "password": "P@ssw0rd",
      "is_admin": false
    }
  },
 
  /* Default Pad behavior, users can override by changing */
  "padOptions": {
    "noColors": false,
    "showControls": true,
    "showChat": true,
    "showLineNumbers": true,
    "useMonospaceFont": false,
    "userName": false,
    "userColor": false,
    "rtl": false,
    "alwaysShowChat": false,
    "chatAndUsers": false,
    "lang": "fr-fr"
  },

A changer aussi

$ ~/etherpad-lite/bin/run.sh
[2015-09-12 17:31:58.565] [WARN] console - DirtyDB is used. This is fine for testing but not recommended for production.
apt-get install --no-install-recommends redis-server
service redis-server start
settings.json
  "dbType" : "redis",
 
 //the database specific settings
  "dbSettings" : {
      "host"        : "localhost",
      "port"        : 6379,
      "database"    : 0
  },
apt-get install --no-install-recommends abiword
settings.json
  /* This is the path to the Abiword executable. Setting it to null, disables abiword.
     Abiword is needed to advanced import/export features of pads*/
  "abiword" : "/usr/bin/abiword",

Docker

plugin

WORKDIR /src/etherpad
# Install dependencies RUN bin/installDeps.sh
RUN npm install sqlite3
# Add the settings ADD config/ /src/etherpad/
# Install plugins RUN npm install \
    ep_headings \
    ep_monospace_default \
    ep_print

https://github.com/ether/etherpad-docker

/etc/supervisor/supervisord.conf
[supervisord]
nodaemon=true
 
[unix_http_server]
file=/var/run//supervisor.sock
chmod=0700
 
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
 
[supervisorctl]
serverurl=unix:///var/run//supervisor.sock
 
[program:redis]
user=root
command=service redis-server start
autostart=true
autorestart=true
 
 
[program:etherpad]
directory=/opt/etherpad/etherpad-lite
command=node node_modules/ep_etherpad-lite/node/server.js
user=etherpad
autostart=true
autorestart=true
docker run -d -p 9001:9001 -v /srv/docker/etherpad/redis:/var/lib/redis etherpad bash -c "service redis-server start ; su -s /bin/bash -l etherpad -c /opt/etherpad/etherpad-lite/bin/run.sh"
docker ps -a
docker commit 6417ee8095da etherpad
docker run -ti -p 9001:9001 etherpad
service redis start
su -s /bin/bash -l etherpad
~/etherpad-lite/bin/run.sh
update-rc.d redis-server defaults
service redis-server start

Pb conversion en ODT

[2015-09-12 18:19:45.935] [ERROR] console - Abiword File failed to convert [Error: Abiword died with exit code null]
Error: Abiword died with exit code null
    at module.exports (/opt/etherpad/etherpad-lite/src/node_modules/async-stacktrace/ERR.js:46:13)
    at /opt/etherpad/etherpad-lite/src/node/handler/ExportHandler.js:224:36
    at /opt/etherpad/etherpad-lite/src/node_modules/async/lib/async.js:254:17
    at /opt/etherpad/etherpad-lite/src/node_modules/async/lib/async.js:151:21
    at /opt/etherpad/etherpad-lite/src/node_modules/async/lib/async.js:251:21
    at Object.callback (/opt/etherpad/etherpad-lite/src/node_modules/async/lib/async.js:615:34)
    at stdoutCallback (/opt/etherpad/etherpad-lite/src/node/utils/Abiword.js:135:14)
    at ChildProcess.<anonymous> (/opt/etherpad/etherpad-lite/src/node/utils/Abiword.js:94:7)
    at ChildProcess.emit (events.js:98:17)
    at Process.ChildProcess._handle.onexit (child_process.js:809:12)

Démarrage automatique avec systemd

/etc/systemd/system/etherpad.service
[Unit]
Description=Etherpad container
After=docker.service
Requires=docker.service
 
[Service]
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker stop -t 2 etherpad1
ExecStartPre=-/usr/bin/docker rm -f etherpad1
ExecStart=/usr/bin/docker run -d -p 9001:9001 -v /srv/docker/etherpad/ep_fileupload/upload:/opt/etherpad/etherpad-lite/node_modules/ep_fileupload/upload -v /srv/docker/etherpad/redis:/var/lib/redis --name etherpad1 etherpad supervisord -c /etc/supervisor/supervisord.conf -n
RestartSec=20s
Type=notify
NotifyAccess=all
TimeoutStartSec=120
TimeoutStopSec=25
KillMode=process
 
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable etherpad.service
systemctl start etherpad

Plugin

# Ajout un menu dans /admin contenant la liste des pads, date dernière modification, nombre d'utilisateur connecté au pad
ep_adminpad

# Affiche le nom de l'auteur au survol du pointeur sur le texte
ep_authornames

# Plus d'avertissement pour effacer les couleurs identifiant les auteurs
ep_clear_authorship_no_prompt

## DEPEND DE ep_page_view
# Permet de laisser des commentaires en marge de la page
ep_comments_page

# Afficher les images (passées en URL)
# MARCHE AVEC ep_fileupload
ep_previewimages

# Copier-coller des images
ep_copy_paste_images

# De pas garder les pads jamais edités
ep_delete_empty_pads

# Ajoute titre 1er niveau, 2em niveau etc...
ep_headings

# Pour faire des lignes horizontales
ep_horizontal_line

# Créer /list contenant la liste des pads
ep_padlist

# Ajoute un mode page
ep_page_view

# Insertion caractère spéciaux
ep_special_characters

# Diff
ep_timesliderdiff

# Ajout option pour désactiver le retour à la ligne automatique
ep_wrap
settings.json
// Display comments as icons, not boxes
"ep_comments_page": {
  "displayCommentAsIcon": true
},

FIXME /opt/etherpad/etherpad-lite/node_modules/ep_fileupload/upload

Script déploiement Etherpad via Docker

#! /bin/bash
 
mkdir -p /srv/docker/etherpad/ep_fileupload/upload
mkdir -p /srv/docker/etherpad/redis
chmod 777 -R /srv/docker
 
zcat etherpad.tar.gz | docker load
 
cat <<EOF >/etc/systemd/system/etherpad.service
[Unit]
Description=Etherpad container
After=docker.service
Requires=docker.service
 
[Service]
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker stop -t 2 etherpad1
ExecStartPre=-/usr/bin/docker rm -f etherpad1
ExecStart=/usr/bin/docker run -d -p 9001:9001 -v /srv/docker/etherpad/ep_fileupload/upload:/opt/etherpad/etherpad-lite/node_modules/ep_fileupload/upload -v /srv/docker/etherpad/redis:/var/lib/redis --name etherpad1 etherpad supervisord -c /etc/supervisor/supervisord.conf -n
RestartSec=20s
Type=notify
NotifyAccess=all
TimeoutStartSec=120
TimeoutStopSec=25
KillMode=process
 
[Install]
WantedBy=multi-user.target
EOF
 
systemctl daemon-reload
systemctl enable etherpad.service
systemctl start etherpad

Liste des pad (requette en base Redis)

redis-cli keys 'pad:*' |grep -Eo '^pad:[^:]+' |sed -e 's/pad://' |sort |uniq -c |sort -rn |awk '{if ($1!="2") {print $2 }}'
tech/notes_etherpad.1758867978.txt.gz · Dernière modification : de Jean-Baptiste

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki