mirror of
https://github.com/YunoHost-Apps/discourse_ynh.git
synced 2024-09-03 18:26:18 +02:00
parent
ae79226506
commit
dcd6edfdf4
15 changed files with 670 additions and 211 deletions
|
@ -8,7 +8,7 @@ about: When creating a bug report, please use the following template to provide
|
||||||
1. *Read this whole template first.*
|
1. *Read this whole template first.*
|
||||||
2. *Determine if you are on the right place:*
|
2. *Determine if you are on the right place:*
|
||||||
- *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!*
|
- *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!*
|
||||||
- *Otherwise, the issue may be due to Discourse itself. Refer to its documentation or repository for help.*
|
- *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.*
|
||||||
- *When in doubt, post here and we will figure it out together.*
|
- *When in doubt, post here and we will figure it out together.*
|
||||||
3. *Delete the italic comments as you write over them below, and remove this guide.*
|
3. *Delete the italic comments as you write over them below, and remove this guide.*
|
||||||
---
|
---
|
||||||
|
@ -31,7 +31,7 @@ about: When creating a bug report, please use the following template to provide
|
||||||
|
|
||||||
- *If you performed a command from the CLI, the command itself is enough. For example:*
|
- *If you performed a command from the CLI, the command itself is enough. For example:*
|
||||||
```sh
|
```sh
|
||||||
sudo yunohost app install discourse
|
sudo yunohost app install the_app
|
||||||
```
|
```
|
||||||
- *If you used the webadmin, please perform the equivalent command from the CLI first.*
|
- *If you used the webadmin, please perform the equivalent command from the CLI first.*
|
||||||
- *If the error occurs in your browser, explain what you did:*
|
- *If the error occurs in your browser, explain what you did:*
|
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
## Problem
|
||||||
|
|
||||||
|
- *Description of why you made this PR*
|
||||||
|
|
||||||
|
## Solution
|
||||||
|
|
||||||
|
- *And how do you fix that problem*
|
||||||
|
|
||||||
|
## PR Status
|
||||||
|
|
||||||
|
- [ ] Code finished and ready to be reviewed/tested
|
||||||
|
- [ ] The fix/enhancement were manually tested (if applicable)
|
||||||
|
|
||||||
|
## Automatic tests
|
||||||
|
|
||||||
|
Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization)
|
59
README.md
59
README.md
|
@ -1,11 +1,32 @@
|
||||||
|
<!--
|
||||||
|
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
|
||||||
|
It shall NOT be edited by hand.
|
||||||
|
-->
|
||||||
|
|
||||||
# Discourse for YunoHost
|
# Discourse for YunoHost
|
||||||
|
|
||||||
[![Integration level](https://dash.yunohost.org/integration/discourse.svg)](https://dash.yunohost.org/appci/app/discourse) ![](https://ci-apps.yunohost.org/ci/badges/discourse.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/discourse.maintain.svg)
|
[![Integration level](https://dash.yunohost.org/integration/discourse.svg)](https://dash.yunohost.org/appci/app/discourse) ![](https://ci-apps.yunohost.org/ci/badges/discourse.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/discourse.maintain.svg)
|
||||||
[![Install Discourse with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=discourse)
|
[![Install Discourse with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=discourse)
|
||||||
|
|
||||||
|
*[Lire ce readme en français.](./README_fr.md)*
|
||||||
|
|
||||||
> *This package allows you to install Discourse quickly and simply on a YunoHost server.
|
> *This package allows you to install Discourse quickly and simply on a YunoHost server.
|
||||||
If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*
|
If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Discussion platform
|
||||||
|
|
||||||
|
**Shipped version:** 2.7.6~ynh1
|
||||||
|
|
||||||
|
**Demo:** https://try.discourse.org
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|
![](./doc/screenshots/screenshot.png)
|
||||||
|
|
||||||
|
## Disclaimers / important information
|
||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
|
|
||||||
This package installs Discourse without Docker, for several reasons (mostly to support ARM architecture and low-profile servers, to mutualize nginx/postgresql/redis services and to simplify e-mail setup).
|
This package installs Discourse without Docker, for several reasons (mostly to support ARM architecture and low-profile servers, to mutualize nginx/postgresql/redis services and to simplify e-mail setup).
|
||||||
|
@ -33,16 +54,6 @@ Finally, if installing on a low-end ARM device (e.g. Raspberry Pi):
|
||||||
|
|
||||||
To learn more about the philosophy and goals of the project, [visit **discourse.org**](http://www.discourse.org).
|
To learn more about the philosophy and goals of the project, [visit **discourse.org**](http://www.discourse.org).
|
||||||
|
|
||||||
**Shipped version:** 2.6.1
|
|
||||||
|
|
||||||
## Screenshots
|
|
||||||
|
|
||||||
![](https://cloud.githubusercontent.com/assets/1385470/25397876/3fe6cdac-29c0-11e7-8a41-9d0c0279f5a3.png)
|
|
||||||
![](https://cloud.githubusercontent.com/assets/1385470/25397920/71b24e4c-29c0-11e7-8bcf-7a47b888412e.png)
|
|
||||||
![](https://cloud.githubusercontent.com/assets/1385470/25398049/f0995962-29c0-11e7-99d7-a3b9c4f0b357.png)
|
|
||||||
![](https://cloud.githubusercontent.com/assets/1385470/25398115/2d560d96-29c1-11e7-9a96-b0134a4fedff.png)
|
|
||||||
![](https://www.discourse.org/a/img/about/mobile-devices-2x.jpg)
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
Use the admin panel of your Discourse to configure this app.
|
Use the admin panel of your Discourse to configure this app.
|
||||||
|
@ -71,17 +82,10 @@ Here's how to setup a secondary mail address for a user account:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ cd /var/www/discourse
|
$ cd /var/www/discourse
|
||||||
$ RAILS_ENV=production /opt/rbenv/versions/2.6.0/bin/bundle exec rails c
|
$ RAILS_ENV=production /opt/rbenv/versions/2.7.1/bin/bundle exec rails c
|
||||||
$ UserEmail.create!(user: User.find_by_username("foo"), email: "foo@theirexternalmail.com")
|
$ UserEmail.create!(user: User.find_by_username("foo"), email: "foo@theirexternalmail.com")
|
||||||
```
|
```
|
||||||
|
|
||||||
Discourse can now receive mail from `foo@theirexternalmail.com` and give it to the user account with mail address `foo@myyunohostdomain.org`.
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
* Official documentation: https://www.discourse.org/
|
|
||||||
* YunoHost documentation: There no other documentations, feel free to contribute.
|
|
||||||
|
|
||||||
## YunoHost specific features
|
## YunoHost specific features
|
||||||
|
|
||||||
* Integration with YunoHost users and SSO:
|
* Integration with YunoHost users and SSO:
|
||||||
|
@ -105,11 +109,6 @@ When disabling Local Login and other authentication services, clicking the `Logi
|
||||||
|
|
||||||
![LDAP Login Popup](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/ldap_popup.png)
|
![LDAP Login Popup](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/ldap_popup.png)
|
||||||
|
|
||||||
#### Supported architectures
|
|
||||||
|
|
||||||
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/discourse.svg)](https://ci-apps.yunohost.org/ci/apps/discourse/)
|
|
||||||
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/discourse.svg)](https://ci-apps-arm.yunohost.org/ci/apps/discourse/)
|
|
||||||
|
|
||||||
## Limitations
|
## Limitations
|
||||||
|
|
||||||
None at the moment.
|
None at the moment.
|
||||||
|
@ -130,14 +129,12 @@ sudo -i -u discourse RAILS_ENV=production bin/rake --trace assets:precompile
|
||||||
systemctl restart discourse
|
systemctl restart discourse
|
||||||
```
|
```
|
||||||
|
|
||||||
## Links
|
## Documentation and resources
|
||||||
|
|
||||||
* Report a bug: https://github.com/YunoHost-Apps/discourse_ynh/issues
|
* Official app website: http://Discourse.org
|
||||||
* App website: https://discourse.org/
|
* Upstream app code repository: https://github.com/discourse/discourse
|
||||||
* Upstream app repository: https://github.com/discourse/discourse
|
* YunoHost documentation for this app: https://yunohost.org/app_discourse
|
||||||
* YunoHost website: https://yunohost.org/
|
* Report a bug: https://github.com/YunoHost-Apps/discourse_ynh/issues
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Developer info
|
## Developer info
|
||||||
|
|
||||||
|
@ -149,3 +146,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/discourse_ynh/tree/te
|
||||||
or
|
or
|
||||||
sudo yunohost app upgrade discourse -u https://github.com/YunoHost-Apps/discourse_ynh/tree/testing --debug
|
sudo yunohost app upgrade discourse -u https://github.com/YunoHost-Apps/discourse_ynh/tree/testing --debug
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**More info regarding app packaging:** https://yunohost.org/packaging_apps
|
209
README_fr.md
Normal file
209
README_fr.md
Normal file
|
@ -0,0 +1,209 @@
|
||||||
|
# Discourse pour YunoHost
|
||||||
|
|
||||||
|
[![Niveau d'intégration](https://dash.yunohost.org/integration/discourse.svg)](https://dash.yunohost.org/appci/app/discourse) ![](https://ci-apps.yunohost.org/ci/badges/discourse.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/discourse.maintain.svg)
|
||||||
|
[![Installer Discourse avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=discourse)
|
||||||
|
|
||||||
|
*[Read this readme in english.](./README.md)*
|
||||||
|
*[Lire ce readme en français.](./README_fr.md)*
|
||||||
|
|
||||||
|
> *Ce package vous permet d'installer Discourse rapidement et simplement sur un serveur YunoHost.
|
||||||
|
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
|
||||||
|
|
||||||
|
## Vue d'ensemble
|
||||||
|
|
||||||
|
Plateforme de discussion
|
||||||
|
|
||||||
|
**Version incluse :** 2.7.6~ynh1
|
||||||
|
|
||||||
|
**Démo :** https://try.discourse.org
|
||||||
|
|
||||||
|
## Captures d'écran
|
||||||
|
|
||||||
|
![](./doc/screenshots/screenshot.png)
|
||||||
|
|
||||||
|
## Avertissements / informations importantes
|
||||||
|
|
||||||
|
## Avertissement
|
||||||
|
|
||||||
|
Ce package installe Discourse sans Docker, pour plusieurs raisons (principalement pour prendre en charge l'architecture ARM et les serveurs discrets, pour mutualiser les services nginx/postgresql/redis et pour simplifier la configuration de la messagerie).
|
||||||
|
Comme indiqué par l'équipe Discourse :
|
||||||
|
> Les seules installations officiellement prises en charge de Discourse sont basées sur [Docker](https://www.docker.io/). Vous devez avoir un accès SSH à un serveur Linux 64 bits **avec prise en charge Docker**. Nous regrettons de ne pouvoir prendre en charge aucune autre méthode d'installation, notamment cpanel, plesk, webmin, etc.
|
||||||
|
|
||||||
|
Veuillez donc avoir cela à l'esprit lorsque vous envisagez de demander de l'aide à Discourse.
|
||||||
|
|
||||||
|
De plus, vous devriez avoir à l'esprit Discourse [exigences matérielles](https://github.com/discourse/discourse/blob/master/docs/INSTALL.md#hardware-requirements) :
|
||||||
|
- CPU monocœur moderne, double cœur recommandé
|
||||||
|
- 1 Go de RAM minimum (avec swap)
|
||||||
|
- Linux 64 bits compatible avec Docker
|
||||||
|
- 10 Go d'espace disque minimum
|
||||||
|
|
||||||
|
Enfin, si vous installez sur un appareil ARM bas de gamme (par exemple Raspberry Pi) :
|
||||||
|
- l'installation peut durer jusqu'à 3 heures,
|
||||||
|
- le premier accès juste après l'installation peut prendre quelques minutes.
|
||||||
|
|
||||||
|
## Aperçu
|
||||||
|
[Discourse](http://www.discourse.org) est la plate-forme de discussion 100% open source conçue pour la prochaine décennie d'Internet. Utilisez-le comme :
|
||||||
|
|
||||||
|
- liste de diffusion
|
||||||
|
- forum de discussion
|
||||||
|
- salle de discussion longue durée
|
||||||
|
|
||||||
|
Pour en savoir plus sur la philosophie et les objectifs du projet, [visitez **discourse.org**](http://www.discourse.org).
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Utilisez le panneau d'administration de votre Discourse pour configurer cette application.
|
||||||
|
|
||||||
|
### Configuration de "Répondre par e-mail"
|
||||||
|
|
||||||
|
* Vous devez créer un utilisateur Yunohost dédié pour Discourse dont la boîte aux lettres sera utilisée par l'application Discourse. Vous pouvez le faire avec `yunohost user create response`, par exemple. Vous devez vous assurer que l'adresse e-mail est configurée pour être sur votre domaine Discourse.
|
||||||
|
|
||||||
|
* Vous devez ensuite configurer votre fichier Discourse `/var/www/discourse/config/discourse.conf` avec les valeurs de configuration SMTP correctes. Veuillez consulter [ce commentaire](https://github.com/YunoHost-Apps/discourse_ynh/issues/2#issuecomment-409510325) pour une explication des valeurs à modifier. Attention, lors de la mise à jour de l'application, vous devrez réappliquer cette configuration.
|
||||||
|
|
||||||
|
* Vous devez activer la configuration Pop3 pour Dovecot. Voir [ce fil](https://forum.yunohost.org/t/how-to-enable-pop3-in-yunohost/1662/2) pour savoir comment procéder. Vous pouvez valider votre configuration avec `systemctl restart dovecot && dovecot -n`. N'oubliez pas d'ouvrir les ports dont vous avez besoin ('995' est la valeur par défaut). Vous pouvez valider cela avec `nmap -p 995 yunohostdomain.org`.
|
||||||
|
|
||||||
|
* Vous devez ensuite configurer le sondage Pop3 dans l'interface d'administration de Discourse. Veuillez consulter [ce commentaire](https://meta.discourse.org/t/set-up-reply-via-email-support/14003) pour savoir comment procéder. Vous devrez suivre l'étape 5 de ce commentaire. Vous pouvez spécifier votre domaine Yunohost principal pour le `pop3_polling_host`.
|
||||||
|
|
||||||
|
Vous devriez maintenant pouvoir commencer à tester. Essayez d'utiliser le `/admin/email` « Envoyer un e-mail de test », puis affichez les onglets « Envoyé » ou « Ignoré », etc. Vous devriez voir un rapport sur ce qui s'est passé avec l'e-mail. Vous pouvez également regarder dans `/var/www/discourse/log/production.log` ainsi que `/var/www/mail.err`. Vous devriez peut-être également utiliser [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) ou une autre application client de messagerie Yunohost pour tester rapidement que votre utilisateur et l'utilisateur dédié Yunohost Discourse (`response@...` ) reçoit du courrier.
|
||||||
|
|
||||||
|
### "Réponse par e-mail" et transfert de courrier
|
||||||
|
|
||||||
|
Si vous utilisez l'interface utilisateur d'administration de YunoHost pour configurer une adresse de transfert de courrier pour vos utilisateurs, vous risquez de rencontrer le problème selon lequel vos utilisateurs répondent par e-mail à partir de l'adresse e-mail transférée et le logiciel Discourse n'est pas capable de comprendre comment recevoir cet e-mail.
|
||||||
|
|
||||||
|
Par exemple, votre utilisateur a l'adresse e-mail "foo@myyunohostdomain.org" et tout le courrier est transféré à "foo@theirexternalmail.com". Discourse reçoit des réponses de `foo@theirexternalmail.com` mais ne peut pas comprendre comment les envoyer au compte utilisateur avec `foo@myyunohostdomain.org` configuré.
|
||||||
|
|
||||||
|
Leur travail est en cours pour permettre [plusieurs adresses e-mail pour un utilisateur](https://meta.discourse.org/t/additional-email-address-per-user-account-support/59847) dans le développement de discours mais dans la version majeure actuelle (2.3 au 06-08-2019), il n'y a pas d'interface Web pour cette fonctionnalité. Il est possible de le configurer via l'interface de ligne de commande mais c'est **expérimental** et vous ne devriez pas entreprendre ce travail à moins de prendre le temps de comprendre ce que vous allez faire.
|
||||||
|
|
||||||
|
Voici comment configurer une adresse e-mail secondaire pour un compte utilisateur :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cd /var/www/discours
|
||||||
|
$ RAILS_ENV=production /opt/rbenv/versions/2.6.0/bin/bundle exec rails c
|
||||||
|
$ UserEmail.create!(user: User.find_by_username("foo"), email: "foo@theirexternalmail.com")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fonctionnalités spécifiques à YunoHost
|
||||||
|
|
||||||
|
* Intégration avec les utilisateurs YunoHost et SSO :
|
||||||
|
* Intégration LDAP : dans la pop-up de connexion, vous pouvez choisir "Se connecter avec LDAP" et utiliser vos identifiants YunoHost
|
||||||
|
* mode privé : Forum uniquement accessible ## Disclaimer
|
||||||
|
|
||||||
|
Ce package installe Discourse sans Docker, pour plusieurs raisons (principalement pour prendre en charge l'architecture ARM et les serveurs discrets, pour mutualiser les services nginx/postgresql/redis et pour simplifier la configuration de la messagerie).
|
||||||
|
Comme indiqué par l'équipe Discourse :
|
||||||
|
> Les seules installations officiellement prises en charge de Discourse sont basées sur [Docker](https://www.docker.io/). Vous devez avoir un accès SSH à un serveur Linux 64 bits **avec prise en charge Docker**. Nous regrettons de ne pouvoir prendre en charge aucune autre méthode d'installation, notamment cpanel, plesk, webmin, etc.
|
||||||
|
|
||||||
|
Veuillez donc avoir cela à l'esprit lorsque vous envisagez de demander de l'aide à Discourse.
|
||||||
|
|
||||||
|
De plus, vous devriez avoir à l'esprit Discourse [exigences matérielles](https://github.com/discourse/discourse/blob/master/docs/INSTALL.md#hardware-requirements) :
|
||||||
|
- CPU monocœur moderne, double cœur recommandé
|
||||||
|
- 1 Go de RAM minimum (avec swap)
|
||||||
|
- Linux 64 bits compatible avec Docker
|
||||||
|
- 10 Go d'espace disque minimum
|
||||||
|
|
||||||
|
Enfin, si vous installez sur un appareil ARM bas de gamme (par exemple Raspberry Pi) :
|
||||||
|
- l'installation peut durer jusqu'à 3 heures,
|
||||||
|
- le premier accès juste après l'installation peut prendre quelques minutes.
|
||||||
|
|
||||||
|
## Aperçu
|
||||||
|
[Discourse](http://www.discourse.org) est la plate-forme de discussion 100% open source conçue pour la prochaine décennie d'Internet. Utilisez-le comme :
|
||||||
|
|
||||||
|
- liste de diffusion
|
||||||
|
- forum de discussion
|
||||||
|
- salle de discussion longue durée
|
||||||
|
|
||||||
|
Pour en savoir plus sur la philosophie et les objectifs du projet, [visitez **discourse.org**](http://www.discourse.org).
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Utilisez le panneau d'administration de votre Discourse pour configurer cette application.
|
||||||
|
|
||||||
|
### Configuration de "Répondre par e-mail"
|
||||||
|
|
||||||
|
* Vous devez créer un utilisateur Yunohost dédié pour Discourse dont la boîte aux lettres sera utilisée par l'application Discourse. Vous pouvez le faire avec `yunohost user create response`, par exemple. Vous devez vous assurer que l'adresse e-mail est configurée pour être sur votre domaine Discourse.
|
||||||
|
|
||||||
|
* Vous devez ensuite configurer votre fichier Discourse `/var/www/discourse/config/discourse.conf` avec les valeurs de configuration SMTP correctes. Veuillez consulter [ce commentaire](https://github.com/YunoHost-Apps/discourse_ynh/issues/2#issuecomment-409510325) pour une explication des valeurs à modifier. Attention, lors de la mise à jour de l'application, vous devrez réappliquer cette configuration.
|
||||||
|
|
||||||
|
* Vous devez activer la configuration Pop3 pour Dovecot. Voir [ce fil](https://forum.yunohost.org/t/how-to-enable-pop3-in-yunohost/1662/2) pour savoir comment procéder. Vous pouvez valider votre configuration avec `systemctl restart dovecot && dovecot -n`. N'oubliez pas d'ouvrir les ports dont vous avez besoin ('995' est la valeur par défaut). Vous pouvez valider cela avec `nmap -p 995 yunohostdomain.org`.
|
||||||
|
|
||||||
|
* Vous devez ensuite configurer le sondage Pop3 dans l'interface d'administration de Discourse. Veuillez consulter [ce commentaire](https://meta.discourse.org/t/set-up-reply-via-email-support/14003) pour savoir comment procéder. Vous devrez suivre l'étape 5 de ce commentaire. Vous pouvez spécifier votre domaine Yunohost principal pour le `pop3_polling_host`.
|
||||||
|
|
||||||
|
Vous devriez maintenant pouvoir commencer à tester. Essayez d'utiliser le `/admin/email` « Envoyer un e-mail de test », puis affichez les onglets « Envoyé » ou « Ignoré », etc. Vous devriez voir un rapport sur ce qui s'est passé avec l'e-mail. Vous pouvez également regarder dans `/var/www/discourse/log/production.log` ainsi que `/var/www/mail.err`. Vous devriez peut-être également utiliser [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) ou une autre application client de messagerie Yunohost pour tester rapidement que votre utilisateur et l'utilisateur dédié Yunohost Discourse (`response@...` ) reçoit du courrier.
|
||||||
|
|
||||||
|
### "Réponse par e-mail" et transfert de courrier
|
||||||
|
|
||||||
|
Si vous utilisez l'interface utilisateur d'administration de YunoHost pour configurer une adresse de transfert de courrier pour vos utilisateurs, vous risquez de rencontrer le problème selon lequel vos utilisateurs répondent par e-mail à partir de l'adresse e-mail transférée et le logiciel Discourse n'est pas capable de comprendre comment recevoir cet e-mail.
|
||||||
|
|
||||||
|
Par exemple, votre utilisateur a l'adresse e-mail "foo@myyunohostdomain.org" et tout le courrier est transféré à "foo@theirexternalmail.com". Discourse reçoit des réponses de `foo@theirexternalmail.com` mais ne peut pas comprendre comment les envoyer au compte utilisateur avec `foo@myyunohostdomain.org` configuré.
|
||||||
|
|
||||||
|
Leur travail est en cours pour permettre [plusieurs adresses e-mail pour un utilisateur](https://meta.discourse.org/t/additional-email-address-per-user-account-support/59847) dans le développement de discours mais dans la version majeure actuelle (2.3 au 06-08-2019), il n'y a pas d'interface Web pour cette fonctionnalité. Il est possible de le configurer via l'interface de ligne de commande mais c'est **expérimental** et vous ne devriez pas entreprendre ce travail à moins de prendre le temps de comprendre ce que vous allez faire.
|
||||||
|
|
||||||
|
Voici comment configurer une adresse e-mail secondaire pour un compte utilisateur :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cd /var/www/discourse
|
||||||
|
$ RAILS_ENV=production /opt/rbenv/versions/2.7.1/bin/bundle exec rails c
|
||||||
|
$ UserEmail.create!(user: User.find_by_username("foo"), email: "foo@theirexternalmail.com")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fonctionnalités spécifiques à YunoHost
|
||||||
|
|
||||||
|
* Intégration avec les utilisateurs YunoHost et SSO :
|
||||||
|
* Intégration LDAP : dans la pop-up de connexion, vous pouvez choisir "Se connecter avec LDAP" et utiliser vos identifiants YunoHost
|
||||||
|
* mode privé : Forum accessible uniquement par les utilisateurs de YunoHost
|
||||||
|
* mode public : Visible par tous
|
||||||
|
|
||||||
|
#### Prise en charge multi-utilisateurs
|
||||||
|
|
||||||
|
Pris en charge, avec LDAP (pas de SSO).
|
||||||
|
|
||||||
|
![Login Popup](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/login.png)
|
||||||
|
|
||||||
|
L'administrateur par défaut et les utilisateurs YunoHost doivent se connecter via LDAP :
|
||||||
|
* cliquez sur le bouton "avec LDAP"
|
||||||
|
* utilisez vos identifiants YunoHost
|
||||||
|
|
||||||
|
Lors de la désactivation de la connexion locale et d'autres services d'authentification, cliquez sur le bouton « Connexion » ou « Inscription » pour afficher directement la fenêtre contextuelle de connexion LDAP.
|
||||||
|
|
||||||
|
![Désactiver Local](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/disable_local.png)
|
||||||
|
|
||||||
|
![Popup de connexion LDAP](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/ldap_popup.png)
|
||||||
|
|
||||||
|
## Limites
|
||||||
|
|
||||||
|
Aucun pour le moment.
|
||||||
|
|
||||||
|
## Informations Complémentaires
|
||||||
|
### Messages de journal connus sans impact
|
||||||
|
```
|
||||||
|
fatal: Not a git repository (or any of the parent directories): .git
|
||||||
|
|
||||||
|
bash: BASH_XTRACEFD: 7: invalid value for trace file descriptor
|
||||||
|
```
|
||||||
|
## Mode d'emploi
|
||||||
|
### Installer des plugins
|
||||||
|
```
|
||||||
|
cd /var/www/discourse
|
||||||
|
sudo -i -u discourse RAILS_ENV=production bin/rake --trace plugin:install repo=https://github.com/discourse/discourse-solved (for example)
|
||||||
|
sudo -i -u discourse RAILS_ENV=production bin/rake --trace assets:precompile
|
||||||
|
systemctl restart discourse
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentations et ressources
|
||||||
|
|
||||||
|
* Site officiel de l'app : http://Discourse.org
|
||||||
|
* Dépôt de code officiel de l'app : https://github.com/discourse/discourse
|
||||||
|
* Documentation YunoHost pour cette app : https://yunohost.org/app_discourse
|
||||||
|
* Signaler un bug : https://github.com/YunoHost-Apps/discourse_ynh/issues
|
||||||
|
|
||||||
|
## Informations pour les développeurs
|
||||||
|
|
||||||
|
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/discourse_ynh/tree/testing).
|
||||||
|
|
||||||
|
Pour essayer la branche testing, procédez comme suit.
|
||||||
|
```
|
||||||
|
sudo yunohost app install https://github.com/YunoHost-Apps/discourse_ynh/tree/testing --debug
|
||||||
|
ou
|
||||||
|
sudo yunohost app upgrade discourse -u https://github.com/YunoHost-Apps/discourse_ynh/tree/testing --debug
|
||||||
|
```
|
||||||
|
|
||||||
|
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps
|
|
@ -1,9 +1,9 @@
|
||||||
;; Test complet
|
;; Test complet
|
||||||
; Manifest
|
; Manifest
|
||||||
domain="domain.tld" (DOMAIN)
|
domain="domain.tld"
|
||||||
path="/path" (PATH)
|
path="/path"
|
||||||
admin="john" (USER)
|
admin="john"
|
||||||
is_public=1 (PUBLIC|public=1|private=0)
|
is_public=1
|
||||||
; Checks
|
; Checks
|
||||||
pkg_linter=1
|
pkg_linter=1
|
||||||
setup_sub_dir=1
|
setup_sub_dir=1
|
||||||
|
@ -12,25 +12,17 @@
|
||||||
setup_private=1
|
setup_private=1
|
||||||
setup_public=1
|
setup_public=1
|
||||||
upgrade=1
|
upgrade=1
|
||||||
# 2.2.3~ynh1
|
# 2.6.1~ynh2
|
||||||
#upgrade=1 from_commit=de467cfa38791f43215ffea88d4b85460e5c0457
|
upgrade=1 from_commit=c626379c98bb7f052061446cd152e4406979d49d
|
||||||
# 2.3.10~ynh1
|
|
||||||
#upgrade=1 from_commit=086de718f49a506c66498d2f7610f5fd0ce07d50
|
|
||||||
# 2.6.0~ynh1
|
|
||||||
upgrade=1 from_commit=b2e6633e0145c7eed2eb8c645ca7dbbd6c26fc06
|
|
||||||
backup_restore=1
|
backup_restore=1
|
||||||
# Activate multi-instance test only if you have more than 2Gb RAM!
|
# Activate multi-instance test only if you have more than 2Gb RAM!
|
||||||
multi_instance=1
|
multi_instance=0
|
||||||
port_already_use=0
|
port_already_use=0
|
||||||
change_url=1
|
change_url=1
|
||||||
;;; Options
|
;;; Options
|
||||||
Email=
|
Email=
|
||||||
Notification=none
|
Notification=none
|
||||||
;;; Upgrade options
|
;;; Upgrade options
|
||||||
; commit=de467cfa38791f43215ffea88d4b85460e5c0457
|
; commit=c626379c98bb7f052061446cd152e4406979d49d
|
||||||
name=Upgrade to 2.2.3 (fixes #16)
|
name=2.6.1~ynh2
|
||||||
manifest_arg=domain=DOMAIN&path=PATH&admin=USER&is_public=1&
|
manifest_arg=domain=DOMAIN&path=PATH&admin=USER&is_public=1&
|
||||||
; commit=086de718f49a506c66498d2f7610f5fd0ce07d50
|
|
||||||
name=2.3.10~ynh1
|
|
||||||
; commit=b2e6633e0145c7eed2eb8c645ca7dbbd6c26fc06
|
|
||||||
name=2.6.0~ynh1
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
SOURCE_URL=https://github.com/discourse/discourse/archive/v2.6.1.tar.gz
|
SOURCE_URL=https://github.com/discourse/discourse/archive/v2.7.6.tar.gz
|
||||||
SOURCE_SUM=f62f50c7491e114be42ece5d5d8e4072fe98bdd7955b962dbe6b241b38f453c7
|
SOURCE_SUM=8b52b24540c7fb18bb299bbfd4b14019d6dfd4d3f3e18d145bc039478ae4da2d
|
||||||
SOURCE_SUM_PRG=sha256sum
|
SOURCE_SUM_PRG=sha256sum
|
||||||
SOURCE_FORMAT=tar.gz
|
SOURCE_FORMAT=tar.gz
|
||||||
SOURCE_IN_SUBDIR=true
|
SOURCE_IN_SUBDIR=true
|
||||||
|
|
101
doc/DISCLAIMER.md
Normal file
101
doc/DISCLAIMER.md
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
## Disclaimer
|
||||||
|
|
||||||
|
This package installs Discourse without Docker, for several reasons (mostly to support ARM architecture and low-profile servers, to mutualize nginx/postgresql/redis services and to simplify e-mail setup).
|
||||||
|
As stated by the Discourse team:
|
||||||
|
> The only officially supported installs of Discourse are [Docker](https://www.docker.io/) based. You must have SSH access to a 64-bit Linux server **with Docker support**. We regret that we cannot support any other methods of installation including cpanel, plesk, webmin, etc.
|
||||||
|
|
||||||
|
So please have this in mind when considering asking for Discourse support.
|
||||||
|
|
||||||
|
Moreover, you should have in mind Discourse [hardware requirements](https://github.com/discourse/discourse/blob/master/docs/INSTALL.md#hardware-requirements):
|
||||||
|
- modern single core CPU, dual core recommended
|
||||||
|
- 1 GB RAM minimum (with swap)
|
||||||
|
- 64 bit Linux compatible with Docker
|
||||||
|
- 10 GB disk space minimum
|
||||||
|
|
||||||
|
Finally, if installing on a low-end ARM device (e.g. Raspberry Pi):
|
||||||
|
- installation can last up to 3 hours,
|
||||||
|
- first access right after installation could take a couple of minutes.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
[Discourse](http://www.discourse.org) is the 100% open source discussion platform built for the next decade of the Internet. Use it as a:
|
||||||
|
|
||||||
|
- mailing list
|
||||||
|
- discussion forum
|
||||||
|
- long-form chat room
|
||||||
|
|
||||||
|
To learn more about the philosophy and goals of the project, [visit **discourse.org**](http://www.discourse.org).
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Use the admin panel of your Discourse to configure this app.
|
||||||
|
|
||||||
|
### Configuring "Reply-By-Email"
|
||||||
|
|
||||||
|
* You should create a dedicated Yunohost user for Discourse whose mailbox will be used by the Discourse application. You can do this with `yunohost user create response`, for example. You should ensure that the email address is configured to be on your Discourse domain.
|
||||||
|
|
||||||
|
* You should then configure your Discourse `/var/www/discourse/config/discourse.conf` file with the correct SMTP configuration values. Please see [this comment](https://github.com/YunoHost-Apps/discourse_ynh/issues/2#issuecomment-409510325) for an explanation of what values to change. Please be aware, when you update the application, you will have to re-apply this configuration.
|
||||||
|
|
||||||
|
* You must enable the Pop3 configuration for Dovecot. See [this thread](https://forum.yunohost.org/t/how-to-enable-pop3-in-yunohost/1662/2) on how to do that. You can validate your configuration with `systemctl restart dovecot && dovecot -n`. Don't forget to open the ports you need (`995` is the default). You can validate that with `nmap -p 995 yunohostdomain.org`.
|
||||||
|
|
||||||
|
* You should then configure the Pop3 polling in the Discourse admin interface. Please see [this comment](https://meta.discourse.org/t/set-up-reply-via-email-support/14003) for how to do so. You will need to follow step 5 in that comment. You can specify your main Yunohost domain for the `pop3_polling_host`.
|
||||||
|
|
||||||
|
You should now be able to start testing. Try using the `/admin/email` "Send Test Email" and then view the "Sent" or "Skipped" etc. tabs. You should see a report on what happened with the email. You may also want to look in `/var/www/discourse/log/production.log` as well as `/var/www/mail.err`. You should perhaps also use [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) or another Yunohost email client application to quickly test that both your user and the dedicated Yunohost Discourse user (`response@...`) is receiving mail.
|
||||||
|
|
||||||
|
### "Reply-By-Email" and mail forwarding
|
||||||
|
|
||||||
|
If you use the administration UI in YunoHost to setup a mail forwarding address for your users then you may face the problem whereby your users are replying by email from the forwarded email address and the Discourse software is not able to understand how to receive that email.
|
||||||
|
|
||||||
|
For example, your user has email address `foo@myyunohostdomain.org` and all mail is forwarded to `foo@theirexternalmail.com`. Discourse receives replies from `foo@theirexternalmail.com` but cannot understand how to deliver this to the user account with `foo@myyunohostdomain.org` configured.
|
||||||
|
|
||||||
|
Their is on-going work to allow for [multiple email addresses for one user](https://meta.discourse.org/t/additional-email-address-per-user-account-support/59847) in Discourse development but at current major version (2.3 as of 2019-08-06), there is no web interface for this functionality. It is possible to set it up via the command-line interface but it is **experimental** and you should not undertake this work unless you take some time to understand what it is you are going to do.
|
||||||
|
|
||||||
|
Here's how to setup a secondary mail address for a user account:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cd /var/www/discourse
|
||||||
|
$ RAILS_ENV=production /opt/rbenv/versions/2.7.1/bin/bundle exec rails c
|
||||||
|
$ UserEmail.create!(user: User.find_by_username("foo"), email: "foo@theirexternalmail.com")
|
||||||
|
```
|
||||||
|
|
||||||
|
## YunoHost specific features
|
||||||
|
|
||||||
|
* Integration with YunoHost users and SSO:
|
||||||
|
* LDAP integration: on the login pop-up, you can choose "Login with LDAP" and use your YunoHost credentials
|
||||||
|
* private mode: Forum only accessible by YunoHost users
|
||||||
|
* public mode: Visible by anyone
|
||||||
|
|
||||||
|
#### Multi-user support
|
||||||
|
|
||||||
|
Supported, with LDAP (no SSO).
|
||||||
|
|
||||||
|
![Login Popup](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/login.png)
|
||||||
|
|
||||||
|
Default administrator and YunoHost users must login using LDAP:
|
||||||
|
* click on the "with LDAP" button
|
||||||
|
* use your YunoHost credentials
|
||||||
|
|
||||||
|
When disabling Local Login and other authentication services, clicking the `Login` or `Sign Up` button will directly bring up the LDAP Login popup.
|
||||||
|
|
||||||
|
![Disable Local](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/disable_local.png)
|
||||||
|
|
||||||
|
![LDAP Login Popup](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/ldap_popup.png)
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
|
||||||
|
None at the moment.
|
||||||
|
|
||||||
|
## Additional information
|
||||||
|
### Known non-impacting log messages
|
||||||
|
```
|
||||||
|
fatal: Not a git repository (or any of the parent directories): .git
|
||||||
|
|
||||||
|
bash: BASH_XTRACEFD: 7: invalid value for trace file descriptor
|
||||||
|
```
|
||||||
|
## How-tos
|
||||||
|
### Install plugins
|
||||||
|
```
|
||||||
|
cd /var/www/discourse
|
||||||
|
sudo -i -u discourse RAILS_ENV=production bin/rake --trace plugin:install repo=https://github.com/discourse/discourse-solved (for example)
|
||||||
|
sudo -i -u discourse RAILS_ENV=production bin/rake --trace assets:precompile
|
||||||
|
systemctl restart discourse
|
||||||
|
```
|
164
doc/DISCLAIMER_fr.md
Normal file
164
doc/DISCLAIMER_fr.md
Normal file
|
@ -0,0 +1,164 @@
|
||||||
|
## Avertissement
|
||||||
|
|
||||||
|
Ce package installe Discourse sans Docker, pour plusieurs raisons (principalement pour prendre en charge l'architecture ARM et les serveurs discrets, pour mutualiser les services nginx/postgresql/redis et pour simplifier la configuration de la messagerie).
|
||||||
|
Comme indiqué par l'équipe Discourse :
|
||||||
|
> Les seules installations officiellement prises en charge de Discourse sont basées sur [Docker](https://www.docker.io/). Vous devez avoir un accès SSH à un serveur Linux 64 bits **avec prise en charge Docker**. Nous regrettons de ne pouvoir prendre en charge aucune autre méthode d'installation, notamment cpanel, plesk, webmin, etc.
|
||||||
|
|
||||||
|
Veuillez donc avoir cela à l'esprit lorsque vous envisagez de demander de l'aide à Discourse.
|
||||||
|
|
||||||
|
De plus, vous devriez avoir à l'esprit Discourse [exigences matérielles](https://github.com/discourse/discourse/blob/master/docs/INSTALL.md#hardware-requirements) :
|
||||||
|
- CPU monocœur moderne, double cœur recommandé
|
||||||
|
- 1 Go de RAM minimum (avec swap)
|
||||||
|
- Linux 64 bits compatible avec Docker
|
||||||
|
- 10 Go d'espace disque minimum
|
||||||
|
|
||||||
|
Enfin, si vous installez sur un appareil ARM bas de gamme (par exemple Raspberry Pi) :
|
||||||
|
- l'installation peut durer jusqu'à 3 heures,
|
||||||
|
- le premier accès juste après l'installation peut prendre quelques minutes.
|
||||||
|
|
||||||
|
## Aperçu
|
||||||
|
[Discourse](http://www.discourse.org) est la plate-forme de discussion 100% open source conçue pour la prochaine décennie d'Internet. Utilisez-le comme :
|
||||||
|
|
||||||
|
- liste de diffusion
|
||||||
|
- forum de discussion
|
||||||
|
- salle de discussion longue durée
|
||||||
|
|
||||||
|
Pour en savoir plus sur la philosophie et les objectifs du projet, [visitez **discourse.org**](http://www.discourse.org).
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Utilisez le panneau d'administration de votre Discourse pour configurer cette application.
|
||||||
|
|
||||||
|
### Configuration de "Répondre par e-mail"
|
||||||
|
|
||||||
|
* Vous devez créer un utilisateur Yunohost dédié pour Discourse dont la boîte aux lettres sera utilisée par l'application Discourse. Vous pouvez le faire avec `yunohost user create response`, par exemple. Vous devez vous assurer que l'adresse e-mail est configurée pour être sur votre domaine Discourse.
|
||||||
|
|
||||||
|
* Vous devez ensuite configurer votre fichier Discourse `/var/www/discourse/config/discourse.conf` avec les valeurs de configuration SMTP correctes. Veuillez consulter [ce commentaire](https://github.com/YunoHost-Apps/discourse_ynh/issues/2#issuecomment-409510325) pour une explication des valeurs à modifier. Attention, lors de la mise à jour de l'application, vous devrez réappliquer cette configuration.
|
||||||
|
|
||||||
|
* Vous devez activer la configuration Pop3 pour Dovecot. Voir [ce fil](https://forum.yunohost.org/t/how-to-enable-pop3-in-yunohost/1662/2) pour savoir comment procéder. Vous pouvez valider votre configuration avec `systemctl restart dovecot && dovecot -n`. N'oubliez pas d'ouvrir les ports dont vous avez besoin ('995' est la valeur par défaut). Vous pouvez valider cela avec `nmap -p 995 yunohostdomain.org`.
|
||||||
|
|
||||||
|
* Vous devez ensuite configurer le sondage Pop3 dans l'interface d'administration de Discourse. Veuillez consulter [ce commentaire](https://meta.discourse.org/t/set-up-reply-via-email-support/14003) pour savoir comment procéder. Vous devrez suivre l'étape 5 de ce commentaire. Vous pouvez spécifier votre domaine Yunohost principal pour le `pop3_polling_host`.
|
||||||
|
|
||||||
|
Vous devriez maintenant pouvoir commencer à tester. Essayez d'utiliser le `/admin/email` « Envoyer un e-mail de test », puis affichez les onglets « Envoyé » ou « Ignoré », etc. Vous devriez voir un rapport sur ce qui s'est passé avec l'e-mail. Vous pouvez également regarder dans `/var/www/discourse/log/production.log` ainsi que `/var/www/mail.err`. Vous devriez peut-être également utiliser [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) ou une autre application client de messagerie Yunohost pour tester rapidement que votre utilisateur et l'utilisateur dédié Yunohost Discourse (`response@...` ) reçoit du courrier.
|
||||||
|
|
||||||
|
### "Réponse par e-mail" et transfert de courrier
|
||||||
|
|
||||||
|
Si vous utilisez l'interface utilisateur d'administration de YunoHost pour configurer une adresse de transfert de courrier pour vos utilisateurs, vous risquez de rencontrer le problème selon lequel vos utilisateurs répondent par e-mail à partir de l'adresse e-mail transférée et le logiciel Discourse n'est pas capable de comprendre comment recevoir cet e-mail.
|
||||||
|
|
||||||
|
Par exemple, votre utilisateur a l'adresse e-mail "foo@myyunohostdomain.org" et tout le courrier est transféré à "foo@theirexternalmail.com". Discourse reçoit des réponses de `foo@theirexternalmail.com` mais ne peut pas comprendre comment les envoyer au compte utilisateur avec `foo@myyunohostdomain.org` configuré.
|
||||||
|
|
||||||
|
Leur travail est en cours pour permettre [plusieurs adresses e-mail pour un utilisateur](https://meta.discourse.org/t/additional-email-address-per-user-account-support/59847) dans le développement de discours mais dans la version majeure actuelle (2.3 au 06-08-2019), il n'y a pas d'interface Web pour cette fonctionnalité. Il est possible de le configurer via l'interface de ligne de commande mais c'est **expérimental** et vous ne devriez pas entreprendre ce travail à moins de prendre le temps de comprendre ce que vous allez faire.
|
||||||
|
|
||||||
|
Voici comment configurer une adresse e-mail secondaire pour un compte utilisateur :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cd /var/www/discours
|
||||||
|
$ RAILS_ENV=production /opt/rbenv/versions/2.6.0/bin/bundle exec rails c
|
||||||
|
$ UserEmail.create!(user: User.find_by_username("foo"), email: "foo@theirexternalmail.com")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fonctionnalités spécifiques à YunoHost
|
||||||
|
|
||||||
|
* Intégration avec les utilisateurs YunoHost et SSO :
|
||||||
|
* Intégration LDAP : dans la pop-up de connexion, vous pouvez choisir "Se connecter avec LDAP" et utiliser vos identifiants YunoHost
|
||||||
|
* mode privé : Forum uniquement accessible ## Disclaimer
|
||||||
|
|
||||||
|
Ce package installe Discourse sans Docker, pour plusieurs raisons (principalement pour prendre en charge l'architecture ARM et les serveurs discrets, pour mutualiser les services nginx/postgresql/redis et pour simplifier la configuration de la messagerie).
|
||||||
|
Comme indiqué par l'équipe Discourse :
|
||||||
|
> Les seules installations officiellement prises en charge de Discourse sont basées sur [Docker](https://www.docker.io/). Vous devez avoir un accès SSH à un serveur Linux 64 bits **avec prise en charge Docker**. Nous regrettons de ne pouvoir prendre en charge aucune autre méthode d'installation, notamment cpanel, plesk, webmin, etc.
|
||||||
|
|
||||||
|
Veuillez donc avoir cela à l'esprit lorsque vous envisagez de demander de l'aide à Discourse.
|
||||||
|
|
||||||
|
De plus, vous devriez avoir à l'esprit Discourse [exigences matérielles](https://github.com/discourse/discourse/blob/master/docs/INSTALL.md#hardware-requirements) :
|
||||||
|
- CPU monocœur moderne, double cœur recommandé
|
||||||
|
- 1 Go de RAM minimum (avec swap)
|
||||||
|
- Linux 64 bits compatible avec Docker
|
||||||
|
- 10 Go d'espace disque minimum
|
||||||
|
|
||||||
|
Enfin, si vous installez sur un appareil ARM bas de gamme (par exemple Raspberry Pi) :
|
||||||
|
- l'installation peut durer jusqu'à 3 heures,
|
||||||
|
- le premier accès juste après l'installation peut prendre quelques minutes.
|
||||||
|
|
||||||
|
## Aperçu
|
||||||
|
[Discourse](http://www.discourse.org) est la plate-forme de discussion 100% open source conçue pour la prochaine décennie d'Internet. Utilisez-le comme :
|
||||||
|
|
||||||
|
- liste de diffusion
|
||||||
|
- forum de discussion
|
||||||
|
- salle de discussion longue durée
|
||||||
|
|
||||||
|
Pour en savoir plus sur la philosophie et les objectifs du projet, [visitez **discourse.org**](http://www.discourse.org).
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Utilisez le panneau d'administration de votre Discourse pour configurer cette application.
|
||||||
|
|
||||||
|
### Configuration de "Répondre par e-mail"
|
||||||
|
|
||||||
|
* Vous devez créer un utilisateur Yunohost dédié pour Discourse dont la boîte aux lettres sera utilisée par l'application Discourse. Vous pouvez le faire avec `yunohost user create response`, par exemple. Vous devez vous assurer que l'adresse e-mail est configurée pour être sur votre domaine Discourse.
|
||||||
|
|
||||||
|
* Vous devez ensuite configurer votre fichier Discourse `/var/www/discourse/config/discourse.conf` avec les valeurs de configuration SMTP correctes. Veuillez consulter [ce commentaire](https://github.com/YunoHost-Apps/discourse_ynh/issues/2#issuecomment-409510325) pour une explication des valeurs à modifier. Attention, lors de la mise à jour de l'application, vous devrez réappliquer cette configuration.
|
||||||
|
|
||||||
|
* Vous devez activer la configuration Pop3 pour Dovecot. Voir [ce fil](https://forum.yunohost.org/t/how-to-enable-pop3-in-yunohost/1662/2) pour savoir comment procéder. Vous pouvez valider votre configuration avec `systemctl restart dovecot && dovecot -n`. N'oubliez pas d'ouvrir les ports dont vous avez besoin ('995' est la valeur par défaut). Vous pouvez valider cela avec `nmap -p 995 yunohostdomain.org`.
|
||||||
|
|
||||||
|
* Vous devez ensuite configurer le sondage Pop3 dans l'interface d'administration de Discourse. Veuillez consulter [ce commentaire](https://meta.discourse.org/t/set-up-reply-via-email-support/14003) pour savoir comment procéder. Vous devrez suivre l'étape 5 de ce commentaire. Vous pouvez spécifier votre domaine Yunohost principal pour le `pop3_polling_host`.
|
||||||
|
|
||||||
|
Vous devriez maintenant pouvoir commencer à tester. Essayez d'utiliser le `/admin/email` « Envoyer un e-mail de test », puis affichez les onglets « Envoyé » ou « Ignoré », etc. Vous devriez voir un rapport sur ce qui s'est passé avec l'e-mail. Vous pouvez également regarder dans `/var/www/discourse/log/production.log` ainsi que `/var/www/mail.err`. Vous devriez peut-être également utiliser [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) ou une autre application client de messagerie Yunohost pour tester rapidement que votre utilisateur et l'utilisateur dédié Yunohost Discourse (`response@...` ) reçoit du courrier.
|
||||||
|
|
||||||
|
### "Réponse par e-mail" et transfert de courrier
|
||||||
|
|
||||||
|
Si vous utilisez l'interface utilisateur d'administration de YunoHost pour configurer une adresse de transfert de courrier pour vos utilisateurs, vous risquez de rencontrer le problème selon lequel vos utilisateurs répondent par e-mail à partir de l'adresse e-mail transférée et le logiciel Discourse n'est pas capable de comprendre comment recevoir cet e-mail.
|
||||||
|
|
||||||
|
Par exemple, votre utilisateur a l'adresse e-mail "foo@myyunohostdomain.org" et tout le courrier est transféré à "foo@theirexternalmail.com". Discourse reçoit des réponses de `foo@theirexternalmail.com` mais ne peut pas comprendre comment les envoyer au compte utilisateur avec `foo@myyunohostdomain.org` configuré.
|
||||||
|
|
||||||
|
Leur travail est en cours pour permettre [plusieurs adresses e-mail pour un utilisateur](https://meta.discourse.org/t/additional-email-address-per-user-account-support/59847) dans le développement de discours mais dans la version majeure actuelle (2.3 au 06-08-2019), il n'y a pas d'interface Web pour cette fonctionnalité. Il est possible de le configurer via l'interface de ligne de commande mais c'est **expérimental** et vous ne devriez pas entreprendre ce travail à moins de prendre le temps de comprendre ce que vous allez faire.
|
||||||
|
|
||||||
|
Voici comment configurer une adresse e-mail secondaire pour un compte utilisateur :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cd /var/www/discourse
|
||||||
|
$ RAILS_ENV=production /opt/rbenv/versions/2.7.1/bin/bundle exec rails c
|
||||||
|
$ UserEmail.create!(user: User.find_by_username("foo"), email: "foo@theirexternalmail.com")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Fonctionnalités spécifiques à YunoHost
|
||||||
|
|
||||||
|
* Intégration avec les utilisateurs YunoHost et SSO :
|
||||||
|
* Intégration LDAP : dans la pop-up de connexion, vous pouvez choisir "Se connecter avec LDAP" et utiliser vos identifiants YunoHost
|
||||||
|
* mode privé : Forum accessible uniquement par les utilisateurs de YunoHost
|
||||||
|
* mode public : Visible par tous
|
||||||
|
|
||||||
|
#### Prise en charge multi-utilisateurs
|
||||||
|
|
||||||
|
Pris en charge, avec LDAP (pas de SSO).
|
||||||
|
|
||||||
|
![Login Popup](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/login.png)
|
||||||
|
|
||||||
|
L'administrateur par défaut et les utilisateurs YunoHost doivent se connecter via LDAP :
|
||||||
|
* cliquez sur le bouton "avec LDAP"
|
||||||
|
* utilisez vos identifiants YunoHost
|
||||||
|
|
||||||
|
Lors de la désactivation de la connexion locale et d'autres services d'authentification, cliquez sur le bouton « Connexion » ou « Inscription » pour afficher directement la fenêtre contextuelle de connexion LDAP.
|
||||||
|
|
||||||
|
![Désactiver Local](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/disable_local.png)
|
||||||
|
|
||||||
|
![Popup de connexion LDAP](https://raw.githubusercontent.com/jonmbake/screenshots/master/discourse-ldap-auth/ldap_popup.png)
|
||||||
|
|
||||||
|
## Limites
|
||||||
|
|
||||||
|
Aucun pour le moment.
|
||||||
|
|
||||||
|
## Informations Complémentaires
|
||||||
|
### Messages de journal connus sans impact
|
||||||
|
```
|
||||||
|
fatal: Not a git repository (or any of the parent directories): .git
|
||||||
|
|
||||||
|
bash: BASH_XTRACEFD: 7: invalid value for trace file descriptor
|
||||||
|
```
|
||||||
|
## Mode d'emploi
|
||||||
|
### Installer des plugins
|
||||||
|
```
|
||||||
|
cd /var/www/discourse
|
||||||
|
sudo -i -u discourse RAILS_ENV=production bin/rake --trace plugin:install repo=https://github.com/discourse/discourse-solved (for example)
|
||||||
|
sudo -i -u discourse RAILS_ENV=production bin/rake --trace assets:precompile
|
||||||
|
systemctl restart discourse
|
||||||
|
```
|
BIN
doc/screenshots/screenshot.png
Normal file
BIN
doc/screenshots/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 470 KiB |
|
@ -6,8 +6,14 @@
|
||||||
"en": "Discussion platform",
|
"en": "Discussion platform",
|
||||||
"fr": "Plateforme de discussion"
|
"fr": "Plateforme de discussion"
|
||||||
},
|
},
|
||||||
"version": "2.6.1~ynh2",
|
"version": "2.7.6~ynh1",
|
||||||
"url": "http://Discourse.org",
|
"url": "http://Discourse.org",
|
||||||
|
"upstream": {
|
||||||
|
"license": "GPL-2.0",
|
||||||
|
"website": "http://Discourse.org",
|
||||||
|
"demo": "https://try.discourse.org",
|
||||||
|
"code": "https://github.com/discourse/discourse"
|
||||||
|
},
|
||||||
"license": "GPL-2.0",
|
"license": "GPL-2.0",
|
||||||
"maintainer": {
|
"maintainer": {
|
||||||
"name": "JimboJoe",
|
"name": "JimboJoe",
|
||||||
|
@ -15,7 +21,7 @@
|
||||||
"url": ""
|
"url": ""
|
||||||
},
|
},
|
||||||
"requirements": {
|
"requirements": {
|
||||||
"yunohost": ">= 4.1.7"
|
"yunohost": ">= 4.2.0"
|
||||||
},
|
},
|
||||||
"multi_instance": true,
|
"multi_instance": true,
|
||||||
"services": [
|
"services": [
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
## Problem
|
|
||||||
- *Description of why you made this PR*
|
|
||||||
|
|
||||||
## Solution
|
|
||||||
- *And how do you fix that problem*
|
|
||||||
|
|
||||||
## PR Status
|
|
||||||
- [ ] Code finished.
|
|
||||||
- [ ] Tested with Package_check.
|
|
||||||
- [ ] Fix or enhancement tested.
|
|
||||||
- [ ] Upgrade from last version tested.
|
|
||||||
- [ ] Can be reviewed and tested.
|
|
||||||
|
|
||||||
## Package_check results
|
|
||||||
---
|
|
||||||
* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"*
|
|
|
@ -18,19 +18,7 @@ RUBY_VERSION="2.7.1"
|
||||||
exec_login_as() {
|
exec_login_as() {
|
||||||
local user=$1
|
local user=$1
|
||||||
shift 1
|
shift 1
|
||||||
exec_as $user --login "$@"
|
ynh_exec_as $user --login "$@"
|
||||||
}
|
|
||||||
# Execute a command as another user
|
|
||||||
# usage: exec_as USER COMMAND [ARG ...]
|
|
||||||
exec_as() {
|
|
||||||
local user=$1
|
|
||||||
shift 1
|
|
||||||
|
|
||||||
if [[ $user = $(whoami) ]]; then
|
|
||||||
eval "$@"
|
|
||||||
else
|
|
||||||
sudo -u "$user" "$@"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Returns true if a swap partition is enabled, false otherwise
|
# Returns true if a swap partition is enabled, false otherwise
|
||||||
|
|
|
@ -65,8 +65,8 @@ ynh_app_setting_set --app=$app --key=admin --value=$admin
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Installing dependencies..."
|
ynh_script_progression --message="Installing dependencies..."
|
||||||
|
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
ynh_install_app_dependencies $pkg_dependencies 2>/dev/null
|
||||||
ynh_install_ruby --ruby_version=$RUBY_VERSION
|
ynh_install_ruby --ruby_version=$RUBY_VERSION 2>/dev/null
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CREATE DEDICATED USER
|
# CREATE DEDICATED USER
|
||||||
|
@ -203,7 +203,7 @@ pushd "$final_path"
|
||||||
# Install bundler, a gems installer
|
# Install bundler, a gems installer
|
||||||
ynh_gem install bundler
|
ynh_gem install bundler
|
||||||
# Install without documentation
|
# Install without documentation
|
||||||
exec_as $app echo "gem: --no-ri --no-rdoc" >> "$final_path/.gemrc"
|
ynh_exec_as $app echo "gem: --no-ri --no-rdoc" >> "$final_path/.gemrc"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Specific actions on ARM architecture
|
# Specific actions on ARM architecture
|
||||||
|
|
|
@ -86,8 +86,8 @@ chown -R $app:www-data "$final_path"
|
||||||
ynh_script_progression --message="Reinstalling dependencies..."
|
ynh_script_progression --message="Reinstalling dependencies..."
|
||||||
|
|
||||||
# Define and install dependencies
|
# Define and install dependencies
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
ynh_install_app_dependencies $pkg_dependencies 2>/dev/null
|
||||||
ynh_install_ruby --ruby_version=$RUBY_VERSION
|
ynh_install_ruby --ruby_version=$RUBY_VERSION 2>/dev/null
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# REINSTALL BUNDLE GEM
|
# REINSTALL BUNDLE GEM
|
||||||
|
|
|
@ -190,8 +190,8 @@ ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Upgrading dependencies..."
|
ynh_script_progression --message="Upgrading dependencies..."
|
||||||
|
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
ynh_install_app_dependencies $pkg_dependencies 2>/dev/null
|
||||||
ynh_install_ruby --ruby_version=$RUBY_VERSION
|
ynh_install_ruby --ruby_version=$RUBY_VERSION 2>/dev/null
|
||||||
ynh_use_ruby
|
ynh_use_ruby
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -278,7 +278,7 @@ then
|
||||||
# Install bundler, a gems installer
|
# Install bundler, a gems installer
|
||||||
ynh_gem install bundler
|
ynh_gem install bundler
|
||||||
# Install without documentation
|
# Install without documentation
|
||||||
exec_as $app echo "gem: --no-ri --no-rdoc" >> "$final_path/.gemrc"
|
ynh_exec_as $app echo "gem: --no-ri --no-rdoc" >> "$final_path/.gemrc"
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Specific actions on ARM architecture
|
# Specific actions on ARM architecture
|
||||||
|
|
Loading…
Reference in a new issue