Simplification de l'installation et de l'administration des plugins
This commit is contained in:
parent
76afc52f3c
commit
9a459bb592
4 changed files with 60 additions and 39 deletions
34
README.md
34
README.md
|
@ -4,32 +4,30 @@
|
||||||
|
|
||||||
- main.yml : Installation de etherpad sur un serveur docker_host
|
- main.yml : Installation de etherpad sur un serveur docker_host
|
||||||
|
|
||||||
Le serveur etherpad est basé sur une image d'etherpad disponible sur le serveur git.libretic.fr préparée avec les modules ep_comments_page, ep_delete_after_delay, ep_prometheus
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
Fournir les variables suivantes. Par exemple :
|
Fournir les variables suivantes. Par exemple :
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
docker_etherpad_fqdn: etherpad.example.com
|
docker_etherpad_fqdn: etherpad.example.com
|
||||||
docker_etherpad_version: 1.8.18
|
docker_etherpad_version: etherpad/etherpad:1.9.6
|
||||||
docker_etherpad_data_dir: /data1
|
docker_etherpad_data_dir: /data1
|
||||||
docker_etherpad_service_id: etherpad
|
docker_etherpad_service_id: etherpad
|
||||||
docker_etherpad_db_password: mot_de_passe
|
docker_etherpad_db_password: mot_de_passe
|
||||||
|
docker_etherpad_admin_password: mot_de_passe_admin
|
||||||
```
|
```
|
||||||
|
|
||||||
| Option | Valeur par défaut | Description |
|
| Option | Valeur par défaut | Description |
|
||||||
|------------------------------------|-----------------------|--------------------------------------------------------------------------------------------|
|
|-----------------------------------------------|-----------------------|--------------------------------------------------------------------------------------------|
|
||||||
| docker_etherpad_fqdn | | Le fqdn pour accéder à etherpad |
|
| docker_etherpad_fqdn | | Le fqdn pour accéder à etherpad |
|
||||||
| docker_etherpad_version | | Version de l'image etherpad |
|
| docker_etherpad_version | | Version de l'image etherpad |
|
||||||
| docker_etherpad_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service |
|
| docker_etherpad_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service |
|
||||||
| docker_etherpad_service_id | | Le nom de service souhaité : conditionne le nommage des dossiers et le routage par traefik |
|
| docker_etherpad_service_id | | Le nom de service souhaité : conditionne le nommage des dossiers et le routage par traefik |
|
||||||
| docker_etherpad_db_name | etherpad | Le nom souhaité pour la base de données |
|
| docker_etherpad_db_name | etherpad | Le nom souhaité pour la base de données |
|
||||||
| docker_etherpad_db_user | etherpad | Le nom souhaité pour le proprietaire de la base |
|
| docker_etherpad_db_user | etherpad | Le nom souhaité pour le proprietaire de la base |
|
||||||
| docker_etherpad_db_password | | Le mot de passe du proprietaire de la base |
|
| docker_etherpad_db_password | | Le mot de passe du proprietaire de la base |
|
||||||
| docker_etherpad_default_pad_text | cf. defaults/main.yml | Texte par défaut à l'initialisation d'un bloc notes |
|
| docker_etherpad_admin_password | | Mot de passe d'accès à l'interface d'administration |
|
||||||
| docker_etherpad_delete_after_delay | cf. defaults/main.yml | Délai avant suppression d'un bloc notes en secondes |
|
| docker_etherpad_data_owner | aucune | Si précisé, donne la propriété des données à cet utilisateur sur l'hote docker |
|
||||||
| docker_etherpad_delete_loop | cf. defaults/main.yml | Définir à false pour utiliser un script de suppression externe |
|
| docker_etherpad_data_group | aucune | Si précisé, donne la propriété des données à ce groupe sur l'hote docker |
|
||||||
| docker_etherpad_delete_loop_delay | cf. defaults/main.yml | Délai entre deux suppression |
|
| docker_etherpad_socketio_max_http_buffer_size | 100000 | Ajuste la taille du buffer de réception des requêtes en provenance du navigateur |
|
||||||
| docker_etherpad_delete_at_start | cf. defaults/main.yml | Supprime des anciens blocs au démarrage d'etherpad |
|
| docker_etherpad_default_pad_text | cf. defaults | Le texte d'accueil des nouveaux pads |
|
||||||
| docker_etherpad_delete_text | cf. defaults/main.yml | Texte d'un bloc notes supprimé |
|
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
docker_etherpad_db_name: etherpad
|
docker_etherpad_db_name: etherpad
|
||||||
docker_etherpad_db_user: etherpad
|
docker_etherpad_db_user: etherpad
|
||||||
|
|
||||||
|
# Le buffer doit être assez large pour pouvoir sauvegarder settings.json via l'interface admin.
|
||||||
|
docker_etherpad_socketio_max_http_buffer_size: 100000
|
||||||
|
|
||||||
docker_etherpad_default_pad_text: "Bienvenue sur Etherpad !\n\n\nCe bloc-notes est synchronisé à mesure que vous tapez du texte, de sorte que chaque personne qui voit cette page peut lire le même texte. Cela permet d'éditer un document de manière collaborative et naturelle.\n\n\nPour permettre à chaque participant de s'y retrouver, il est préférable d'indiquer son nom et sa couleur à droite.\n\n\nPour vous impliquer dans Etherpad, consultez https:\/\/etherpad.org"
|
docker_etherpad_default_pad_text: "Bienvenue sur Etherpad !\n\n\nCe bloc-notes est synchronisé à mesure que vous tapez du texte, de sorte que chaque personne qui voit cette page peut lire le même texte. Cela permet d'éditer un document de manière collaborative et naturelle.\n\n\nPour permettre à chaque participant de s'y retrouver, il est préférable d'indiquer son nom et sa couleur à droite.\n\n\nPour vous impliquer dans Etherpad, consultez https:\/\/etherpad.org"
|
||||||
|
|
||||||
# 60 jours
|
|
||||||
docker_etherpad_delete_after_delay: "5184000"
|
|
||||||
|
|
||||||
docker_etherpad_delete_loop: "true"
|
|
||||||
docker_etherpad_delete_loop_delay: "3600"
|
|
||||||
docker_etherpad_delete_at_start: "true"
|
|
||||||
|
|
||||||
docker_etherpad_delete_text: "Le contenu de ce bloc notes a été supprimé car il était plus ancien que la durée d'inactivité paramétrée"
|
|
||||||
|
|
|
@ -3,6 +3,39 @@
|
||||||
path: /opt/{{ docker_etherpad_service_id }}/
|
path: /opt/{{ docker_etherpad_service_id }}/
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
|
- name: plugins directory
|
||||||
|
file:
|
||||||
|
path: "{{ docker_etherpad_data_dir }}/{{ docker_etherpad_service_id }}/node_modules"
|
||||||
|
owner: "{{ docker_etherpad_data_owner | default(omit) }}"
|
||||||
|
group: "{{ docker_etherpad_data_group | default(omit) }}"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: symlink in node_modules
|
||||||
|
file:
|
||||||
|
src: "../src"
|
||||||
|
path: "{{ docker_etherpad_data_dir }}/{{ docker_etherpad_service_id }}/node_modules/ep_etherpad-lite"
|
||||||
|
state: link
|
||||||
|
force: yes
|
||||||
|
follow: no
|
||||||
|
|
||||||
|
- name: settings.json exists
|
||||||
|
stat:
|
||||||
|
path: "{{ docker_etherpad_data_dir }}/{{ docker_etherpad_service_id }}/settings.json"
|
||||||
|
register: _settings
|
||||||
|
|
||||||
|
- name: prepare settings.json
|
||||||
|
shell: |
|
||||||
|
docker create --name temporary_etherpad {{ docker_etherpad_version }}
|
||||||
|
docker cp temporary_etherpad:/opt/etherpad-lite/settings.json {{ docker_etherpad_data_dir }}/{{ docker_etherpad_service_id }}/settings.json
|
||||||
|
docker rm temporary_etherpad
|
||||||
|
when: not _settings.stat.exists
|
||||||
|
|
||||||
|
- name: owner of settings.json
|
||||||
|
file:
|
||||||
|
path: "{{ docker_etherpad_data_dir }}/{{ docker_etherpad_service_id }}/settings.json"
|
||||||
|
owner: "{{ docker_etherpad_data_owner | default(omit) }}"
|
||||||
|
group: "{{ docker_etherpad_data_group | default(omit) }}"
|
||||||
|
|
||||||
- name: prepare docker-compose.yml
|
- name: prepare docker-compose.yml
|
||||||
template:
|
template:
|
||||||
src: "{{ item }}"
|
src: "{{ item }}"
|
||||||
|
@ -10,8 +43,4 @@
|
||||||
with_items:
|
with_items:
|
||||||
- docker-compose.yml
|
- docker-compose.yml
|
||||||
notify: docker-compose-up
|
notify: docker-compose-up
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ version: '3.5'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
etherpad:
|
etherpad:
|
||||||
image: git.libretic.fr/libretic/etherpad:{{ docker_etherpad_version }}
|
image: {{ docker_etherpad_version }}
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
DB_TYPE: postgres
|
DB_TYPE: postgres
|
||||||
|
@ -13,12 +13,11 @@ services:
|
||||||
DB_USER: "{{ docker_etherpad_db_user }}"
|
DB_USER: "{{ docker_etherpad_db_user }}"
|
||||||
DB_PASS: "{{ docker_etherpad_db_password }}"
|
DB_PASS: "{{ docker_etherpad_db_password }}"
|
||||||
ADMIN_PASSWORD: "{{ docker_etherpad_admin_password }}"
|
ADMIN_PASSWORD: "{{ docker_etherpad_admin_password }}"
|
||||||
|
SOCKETIO_MAX_HTTP_BUFFER_SIZE: "{{ docker_etherpad_socketio_max_http_buffer_size }}"
|
||||||
DEFAULT_PAD_TEXT: "{{ docker_etherpad_default_pad_text }}"
|
DEFAULT_PAD_TEXT: "{{ docker_etherpad_default_pad_text }}"
|
||||||
DELETE_AFTER_DELAY: "{{ docker_etherpad_delete_after_delay }}"
|
volumes:
|
||||||
DELETE_LOOP: "{{ docker_etherpad_delete_loop }}"
|
- {{ docker_etherpad_data_dir }}/{{ docker_etherpad_service_id }}/node_modules:/opt/etherpad-lite/node_modules
|
||||||
DELETE_LOOP_DELAY: "{{ docker_etherpad_delete_loop_delay }}"
|
- {{ docker_etherpad_data_dir }}/{{ docker_etherpad_service_id }}/settings.json:/opt/etherpad-lite/settings.json
|
||||||
DELETE_AT_START: "{{ docker_etherpad_delete_at_start }}"
|
|
||||||
DELETE_TEXT: "{{ docker_etherpad_delete_text }}"
|
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.docker.network=traefik"
|
- "traefik.docker.network=traefik"
|
||||||
|
@ -26,14 +25,15 @@ services:
|
||||||
- "traefik.http.routers.{{ docker_etherpad_service_id }}.rule=Host(`{{ docker_etherpad_fqdn }}`)"
|
- "traefik.http.routers.{{ docker_etherpad_service_id }}.rule=Host(`{{ docker_etherpad_fqdn }}`)"
|
||||||
- "traefik.http.services.{{ docker_etherpad_service_id }}.loadbalancer.server.port=9001"
|
- "traefik.http.services.{{ docker_etherpad_service_id }}.loadbalancer.server.port=9001"
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
db:
|
||||||
|
condition: service_healthy
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
- etherpad
|
- etherpad
|
||||||
|
|
||||||
db:
|
db:
|
||||||
restart: always
|
|
||||||
image: postgres:14
|
image: postgres:14
|
||||||
|
restart: always
|
||||||
shm_size: 256mb
|
shm_size: 256mb
|
||||||
networks:
|
networks:
|
||||||
- etherpad
|
- etherpad
|
||||||
|
|
Loading…
Reference in a new issue