# Role : docker_discourse ## Services fournis Installation de discourse sur un serveur docker_host ## Variables Le rôle nécessite que lui soient fournies les informations suivantes : ```yaml # Le nom de domaine pour lequel le service discourse répond docker_discourse_fqdn: discourse.example.com # La version de l'image docker discourse docker_discourse_version: bitnami/discourse:3.2.0 # L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service docker_discourse_data_dir: /data1 # Le nom de service souhaité : conditionne le nommage des volumes et le routage par traefik docker_discourse_service_id: discourse_example_com # Le nom de la base de données docker_discourse_db_name: discourse # Le nom du user propriétaire de la base de données docker_discourse_db_user: discourse # Le mot de passe du user propriétaire de la base de données docker_discourse_db_password: motdepassebdd # Login du compte administrateur docker_discourse_admin_user: admin # Mot de passe du compte administrateur docker_discourse_admin_password: motdepasseadmin # Adresse mail du compte administrateur docker_discourse_admin_email: admin@example.com # Prénom du compte administrateur docker_discourse_admin_first_name: Admin # Nom du compte administrateur docker_discourse_admin_last_name: DuForum # FQDN du serveur smtp pour l'envoi de mails docker_discourse_smtp_host: mail.example.com # Numéro de port smtp pour l'envoi de mails docker_discourse_smtp_port: 587 # Login de l'utilisateur pour l'envoi de mails par smtp docker_discourse_smtp_user: admin@example.com # Mot de passe de l'utilisateur pour l'envoi de mails par smtp docker_discourse_smtp_password: motdepassesmtp # Protocole pour la communication smtp docker_discourse_smtp_protocol: tls # Type d'authentification sur smtp docker_discourse_smtp_auth: plain ``` ## Premier démarrage de discourse * Le conteneur Discourse est long à démarrer (étape "Precompiling assets, this may take some time...") ; compter ~5 minutes. * Une fois démarré, il est possible de se connecter avec le compte admin défini par la variable `docker_discourse_admin_user` * Dans paramètres, chercher "notification" et adapter l'adresse d'expédition des courriels pour correspondre à la valeur souhaitée ## Ajout d'un autre utilisateur admin ```bash docker compose exec -t -w /opt/bitnami/discourse --env RAILS_ENV=production discourse bundle exec rake admin:create ``` ## Ajout d'un plugin Exemple ici avec le plugin ldap-auth : ```bash docker compose exec -t -w /opt/bitnami/discourse --env RAILS_ENV=production discourse bundle exec rake plugin:install repo=https://github.com/jonmbake/discourse-ldap-auth.git docker compose exec -t -w /opt/bitnami/discourse --env RAILS_ENV=production discourse bundle exec rake assets:precompile ``` ## Suppression d'un plugin Exemple ici avec le plugin ldap-auth : ```bash docker compose exec -t -w /bitnami/discourse/plugins/ discourse rm -rf discourse-ldap-auth docker compose exec -t -w /opt/bitnami/discourse --env RAILS_ENV=production discourse bundle exec rake assets:precompile ```