services:

  pad:
    image: etherpad/etherpad:latest
    container_name: ${etherpadServName}
    restart: ${restartPolicy}
    depends_on:
      wait-for-db:
        condition: service_completed_successfully
    networks:
      - etherpadNet
    external_links:
      - ${etherpadDBName}:padDB
#    volumes:
#      - ${PWD}/settings.json:/opt/etherpad-lite/settings.json

    env_file:
      - ../../secret/env-${etherpadServName}
    environment:
      - "DEFAULT_PAD_TEXT=––––– Ce texte est à effacer (après lecture si c’est votre première visite) ou à conserver en bas de votre pad –––––\n\nBienvenue sur notre PAD !\n\n➡ Comment commencer ?\n• Renseignez votre nom ou pseudo, en cliquant sur l’icône « utilisateur » en haut à droite.\n• Choisissez votre couleur d'écriture au même endroit.\n• Lancez-vous : écrivez sur votre pad !\n• Les contributions de chacun se synchronisent « en temps réel » sous leur propre couleur.\n\n➡ Comment partager / collaborer ?\n• Sélectionnez et copiez l'URL (l'adresse web dans la grande barre en haut à gauche du navigateur)\n• Partagez-là à vos collaborateurs et collaboratrices (email, messagerie, etc.)\n• Attention : toute personne ayant cette adresse d'accès peut modifier le pad à sa convenance.\n• Utilisez l'onglet chat (en bas à droite) pour séparer les discussions du texte sur lequel vous travaillez.\n\n➡ Comment sauvegarder ?\n• Il n'y a rien à faire : le texte est automatiquement sauvegardé, à chaque caractère tapé.\n• Marquez une version (un état du pad) en cliquant sur l’icône « étoile ».\n• Retrouvez toute l'évolution du pad et vos versions marquées d'une étoile dans l’historique (icône « horloge »).\n• Importez et exportez votre texte avec l'icône « double flèche » (formats HTML, texte brut) ou avec un copier/coller.\n\nImportant ! N’oubliez pas de conserver quelque part l’adresse web (URL) de votre pad.\n\nBon travail collaboratif :)\n\n––––– Ce texte est à effacer (après lecture si c’est votre première visite) –––––\n\n**ATTENTION**\nCETTE INSTANCE PROPOSE DES PADS À EFFACEMENT AUTOMATIQUE !\n\nVOS PADS SERONT AUTOMATIQUEMENT SUPPRIMÉS AU BOUT DE 62 JOURS (2 MOIS) SANS ÉDITION !\n\nSi le contenu de votre pad bimestriel a été effacé, c'est qu'il n'avait pas été modifié depuis plus de 62 jours consécutifs.\n"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.pad-admin.rule=Host(`${padHost}.${domain}`) && PathPrefix(`/admin`)"
      - "traefik.http.routers.pad-admin.middlewares=test-adminipallowlist@file"
      - "traefik.http.routers.pad.rule=Host(`${padHost}.${domain}`)"
      - "traefik.docker.network=etherpadNet"

  padDB:
    image: mariadb:latest
    container_name: ${etherpadDBName}
    restart: ${restartPolicy}
    networks:
      - etherpadNet
    env_file:
      - ../../secret/env-${etherpadDBName}
    volumes:
      - padDB:/var/lib/mysql

  # wait-for-db permet d'attendre le lancement de la DB sans avoir un health_check sur le DB
  # le pb du healthcheck sur la DB : ça fait du bruit dans les logs. Si délai court beaucoup de bruit, si délai long le lancement initial est long
  wait-for-db:
    image: atkrad/wait4x:latest
    depends_on:
      - padDB
    networks:
      - etherpadNet
    command: tcp padDB:3306 -t 0 -i 1s

volumes:
  padDB:
#  etherpadPlugins:

networks:
  etherpadNet:
    external: true
    name: etherpadNet
