YunoHost for non-profit

Table of Contents

Introduction

The object of this document is to present a specific use of YunoHost for non-profit organizations.

Who

Non-profit organizations, NGO or any kind of association.

What

Usually non-profit organizations need to provide several services to several publics:

When

When ready to move forward.

Where

You YunoHost for non profit can be hosted in several places: * Own hosting on a server, computer or Raspberry behind ASDL, SDSL or Fiber * Chatons, librehosters hosting services * Commercial hosting services providing Debian virtual machine

Why

YunoHost can provide mostly all needs of a non-profit organization. Keeping their data on their own.

How

YunoHost

YunoHost is a Debian GNU/Linux based distribution packaged with free software that automates the installation of a personal web server. The purpose of YunoHost is to allow users to easily host their own web services by enabling a simple point-and-click web interface for installing various web apps.

Out of the box YunoHost provide: * A system of application * A web interface * A command-line interface (CLI): Moulinette * A web server: Nginx * A DNS server: Dnsmasq * A database: MariaDB * A backup system * An SSO : SSOwat * OpenLDAP * Email: * SMTP: Postfix * IMAP & POP3: Dovecot * An antispam: rspamd,rmilter * Instant messaging XMPP server: Metronome IM

Domain Name

The first thing you will need to implement a YunoHost server is a domain name. The domain name can usually be provided with your hosting service.

Mails

From scratch, YunoHost provide mail system available using POP/IMAP/SMTP. Mails accounts will be managed using the web interface or the command line. Created accounts are stored in OpenLDAP.

Additional package can be installed to provide more functionality to the YunoHost mail system: * Webmail using Roundcube, Rainloop * ActiveSync using Z-Push * Internal distribution group using Mailman

Calendar

To provide personal or shared calendars you will need to install: * Nextcloud * Baikal

Contact

To provide personal contact system you will need to install: * Nextcloud * Baikal

Shared files

To provide shared files system: personal and shared drive, you can install Nextcloud. Files will be available from a web interface or using a synchronization client.

Instant communication

Out of the box, YunoHost provide an XMPP server, for which you can install a web client: Jappix.

You can also install a matrix server: * The server: Synapse * A web client: Riot

Intranet

For an non-profit organization a good way to implement an intranet is to provide a wiki to let internal users read, edit and add content. Here are some packages to implement a wiki: * DokuWiki using wiki syntax * Wiki.js using markdown syntax

ERP / Accounting

At some time a non-profit organization could need an accounting/erp system, here are two propositions: * OpenERP/Odoo * Dolibarr

Public Web Site

There are several way to implement a Public Web Site: * Simple html, css, etc... Website using: Custom Webapp * Using a CMS (Content Management System) like Wordpress, Drupal , Grav, PluXml

But we will propose something more powerful: CiviCRM on Drupal 7: * Drupal that is a powerful open source content management framework * with CiviCRM that is an open source constituent relationship management for non-profits

Membership

With CiviCRM you can provide online membership and payment.

Events Registrations

With CiviCRM, you can provide an online diary to let members or public register for free or with a payment.

Newsletter/Mailing

Best way to manage that is using CiviCRM and its mailing module.

Forum

You have several choices, or having an integrated forum in Drupal or using a dedicated forum system like Flarum.

Backup

YunoHost provide is own backup system. Before any package upgrade, YunoHost backup the current version of the package and automaticaly restore it if the upgrade fails. Yunohost backup are stored localy in /home/yunohost.backup/archives.

But for production, localy stored backup are not enough, so you will need to implement aditional backup strategies: * Backup of the the Virtual Machine if provided by the hosting system. * Archivist is an automatic backup system for your server. Your backups can be send to many other places, local or distant. * Borg and Borg Server allow to externalize backups. * Fallback, if you have two yunohost servers, provide a way to have a secondary server which you can used if your main server goes down. This secondary server will allow you to deploy a copy of your server to bring back your YunoHost during your break down.

Go further

Federated Photo Gallery

Federated Audio Gallery

Federated Video Gallery

Federated Social Networking

Federated Blog

Chat

Conclusion

YunoHost can cover 99% of the needs of non-profit organizations, allowing them to own and protect their data, choose applications they want to use. And if one is not available, they can package it for YunoHost, it's very simple.