All Projects → YunoHost-Apps → discourse_ynh

YunoHost-Apps / discourse_ynh

Licence: GPL-2.0 license
Discourse package for YunoHost

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to discourse ynh

mastodon ynh
Free, open-source social network for YunoHost
Stars: ✭ 67 (+191.3%)
Mutual labels:  yunohost, yunohost-apps, closember
wikijs ynh
Modern and powerful wiki app package for YunoHost
Stars: ✭ 19 (-17.39%)
Mutual labels:  yunohost, yunohost-apps, closember
example ynh
Example package for YunoHost applications.
Stars: ✭ 54 (+134.78%)
Mutual labels:  yunohost, closember
grav ynh
Grav, a flat-file CMS packaged for YunoHost
Stars: ✭ 13 (-43.48%)
Mutual labels:  yunohost, yunohost-apps
my webapp ynh
Custom Web app with SFTP access
Stars: ✭ 39 (+69.57%)
Mutual labels:  yunohost, closember
jellyfin ynh
Jellyfin package for YunoHost
Stars: ✭ 20 (-13.04%)
Mutual labels:  yunohost, closember
doc
YunoHost documentation
Stars: ✭ 126 (+447.83%)
Mutual labels:  yunohost, closember
element ynh
Element package for YunoHost
Stars: ✭ 16 (-30.43%)
Mutual labels:  yunohost, yunohost-apps
borg ynh
An experimental Borg implementation for YunoHost
Stars: ✭ 18 (-21.74%)
Mutual labels:  yunohost, yunohost-apps
wireguard ynh
WireGuard VPN software with a web UI configuration companion, packaged for YunoHost.
Stars: ✭ 24 (+4.35%)
Mutual labels:  yunohost, yunohost-apps
redirect ynh
Redirection app for YunoHost
Stars: ✭ 37 (+60.87%)
Mutual labels:  yunohost-apps, closember
funkwhale ynh
A modern, convivial and free music server on YunoHost
Stars: ✭ 59 (+156.52%)
Mutual labels:  yunohost, yunohost-apps
ttrss ynh
Tiny Tiny RSS package for YunoHost
Stars: ✭ 17 (-26.09%)
Mutual labels:  yunohost-apps, closember
syncthing ynh
Syncthing package for YunoHost
Stars: ✭ 27 (+17.39%)
Mutual labels:  yunohost, yunohost-apps
nextcloud ynh
Nextcloud package for YunoHost
Stars: ✭ 120 (+421.74%)
Mutual labels:  yunohost, yunohost-apps
gitlab ynh
GitLab package for YunoHost
Stars: ✭ 17 (-26.09%)
Mutual labels:  yunohost, yunohost-apps
project-organization
YunoHost project organization
Stars: ✭ 31 (+34.78%)
Mutual labels:  yunohost, closember
DiscEval
Discourse Based Evaluation of Language Understanding
Stars: ✭ 18 (-21.74%)
Mutual labels:  discourse
xpeppers-discourse
Provisioning of @discourse
Stars: ✭ 22 (-4.35%)
Mutual labels:  discourse
discourse-question-answer
Discourse Question Answer Plugin
Stars: ✭ 44 (+91.3%)
Mutual labels:  discourse

Discourse for YunoHost

Integration level Working status Maintenance status
Install Discourse with YunoHost

Lire ce readme en français.

This package allows you to install Discourse quickly and simply on a YunoHost server. If you don't have YunoHost, please consult the guide to learn how to install it.

Overview

Discourse is modern forum software for your community. Use it as a mailing list, discussion forum, long-form chat room, and more!

Shipped version: 2.8.13~ynh1

Demo: https://try.discourse.org

Screenshots

Screenshot of Discourse

Disclaimers / important information

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 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:

  • 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 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.

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 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 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 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 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 [email protected] and all mail is forwarded to [email protected]. Discourse receives replies from [email protected] but cannot understand how to deliver this to the user account with [email protected] configured.

Their is on-going work to allow for multiple email addresses for one user 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:

$ 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: "[email protected]")

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

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

LDAP Login Popup

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

Documentation and resources

Developer info

Please send your pull request to the testing branch.

To try the testing branch, please proceed like that.

sudo yunohost app install https://github.com/YunoHost-Apps/discourse_ynh/tree/testing --debug
or
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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].