2019-06-04 22:59:41 +02:00
# YunoHost for non-profit
## Table of Contents
2019-06-25 23:33:35 +02:00
* [Introduction ](#introduction )
* [Who ](#who )
* [What ](#what )
* [When ](#when )
* [Where ](#where )
* [Why ](#why )
* [How ](#how )
* [Conclusion ](#conclusion )
2019-06-04 22:59:41 +02:00
2019-06-25 23:33:35 +02:00
## Introduction
2019-06-04 22:59:41 +02:00
The object of this document is to present a specific use of [YunoHost ](https://yunohost.org/ ) for non-profit organizations.
2019-06-25 23:33:35 +02:00
## Who
2019-06-04 22:59:41 +02:00
Non-profit organizations, NGO or any kind of association.
2019-06-25 23:33:35 +02:00
## What
2019-06-04 22:59:41 +02:00
Usually non-profit organizations need to provide several services to several publics:
* Board of Directors / Steering Committee / Volunteers with:
2019-06-25 23:33:35 +02:00
* [Mails ](#mails )
* [Calendar ](#calendar )
* [Contact ](#contact )
* [Shared files / Drive ](#shared-files )
* [Instant communication ](#instant-communication )
* [Intranet / knowledge database ](#intranet )
* [ERP / Accounting ](#erp-accounting )
2019-06-04 22:59:41 +02:00
* Members with:
2019-06-25 23:33:35 +02:00
* [Public website with private and individual access ](#public-web-site )
* [Membership ](#membership )
* [Events registrations ](#events-registrations )
* [Mailings ](#newsletter-mailing )
* [Forum ](#forum )
2019-06-04 22:59:41 +02:00
* Public with:
2019-06-25 23:33:35 +02:00
* [Public website ](#public-web-site )
* [Newsletter ](#newsletter-mailing )
2019-06-04 22:59:41 +02:00
2019-06-25 23:33:35 +02:00
## When
2019-06-04 22:59:41 +02:00
When ready to move forward.
2019-06-25 23:33:35 +02:00
## Where
2019-06-04 22:59:41 +02:00
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 ](https://chatons.org ), [librehosters ](https://framagit.org/librehosters/awesome-librehosters ) hosting services
* Commercial hosting services providing Debian virtual machine
2019-06-25 23:33:35 +02:00
## Why
2019-06-04 22:59:41 +02:00
YunoHost can provide mostly all needs of a non-profit organization.
Keeping their data on their own.
2019-06-25 23:33:35 +02:00
## How
2019-06-04 22:59:41 +02:00
2019-06-25 23:33:35 +02:00
### YunoHost
2019-06-04 22:59:41 +02:00
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.
![](https://upload.wikimedia.org/wikipedia/commons/0/07/Yunohost_user_portal.png)
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
2019-06-25 23:33:35 +02:00
### Domain Name
2019-06-04 22:59:41 +02:00
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.
2019-06-25 23:33:35 +02:00
### Mails
2019-06-04 22:59:41 +02:00
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 ](https://github.com/YunoHost-Apps/roundcube_ynh ), [Rainloop ](https://github.com/YunoHost-Apps/rainloop_ynh )
* ActiveSync using [Z-Push ](https://github.com/YunoHost-Apps/z-push_ynh )
* Internal distribution group using [Mailman ](https://github.com/YunoHost-Apps/mailman_ynh )
2019-06-25 23:33:35 +02:00
### Calendar
2019-06-04 22:59:41 +02:00
To provide personal or shared calendars you will need to install:
* [Nextcloud ](https://github.com/YunoHost-Apps/nextcloud_ynh )
* [Baikal ](https://github.com/YunoHost-Apps/baikal_ynh )
2019-06-25 23:33:35 +02:00
### Contact
2019-06-04 22:59:41 +02:00
To provide personal contact system you will need to install:
* [Nextcloud ](https://github.com/YunoHost-Apps/nextcloud_ynh )
* [Baikal ](https://github.com/YunoHost-Apps/baikal_ynh )
2019-06-25 23:33:35 +02:00
### Shared files
2019-06-04 22:59:41 +02:00
To provide shared files system: personal and shared drive, you can install [Nextcloud ](https://github.com/YunoHost-Apps/nextcloud_ynh ).
Files will be available from a web interface or using a synchronization client
2019-06-25 23:33:35 +02:00
### Instant communication
2019-06-04 22:59:41 +02:00
Out of the box, YunoHost provide an XMPP server, for which you can install a web client: [Jappix ](https://github.com/YunoHost-Apps/jappix_ynh )
You can also install a matrix server:
* The server: [Synapse ](https://github.com/YunoHost-Apps/synapse_ynh )
* A web client: [Riot ](https://github.com/YunoHost-Apps/_ynh )
2019-06-25 23:33:35 +02:00
### Intranet
2019-06-04 22:59:41 +02:00
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 ](https://github.com/YunoHost-Apps/docuwiki_ynh ) using wiki syntax
* [Wiki.js ](https://github.com/YunoHost-Apps/wikijs_ynh ) using markdown syntax
2019-06-25 23:33:35 +02:00
### ERP / Accounting
2019-06-04 22:59:41 +02:00
At some time a non-profit organization could need an accounting/erp system, here are two propositions:
* [OpenERP/Odoo ](https://github.com/YunoHost-Apps/libreerp_ynh )
* [Dolibarr ](https://github.com/YunoHost-Apps/dolibarr_ynh )
2019-06-25 23:33:35 +02:00
### Public Web Site
2019-06-04 22:59:41 +02:00
There are several way to implement a Public Web Site:
* Simple html, css, etc... Website using: [Custom Webapp ](https://github.com/YunoHost-Apps/my_webapp_ynh )
* Using a CMS (Content Management System) like [Wordpress ](https://github.com/YunoHost-Apps/_ynh ), [Drupal ](https://github.com/YunoHost-Apps/drupal_ynh ) , [Grav ](https://github.com/YunoHost-Apps/grav_ynh ), [PluXml ](https://github.com/YunoHost-Apps/pluxml_ynh )
But we will propose something more powerful: [CiviCRM on Drupal 7 ](https://github.com/YunoHost-Apps/civicrm_drupal7_ynh ):
* Drupal that is a powerful open source content management framework
* with CiviCRM that is an open source constituent relationship management for non-profits
2019-06-25 23:33:35 +02:00
#### Membership
2019-06-04 22:59:41 +02:00
With CiviCRM you can provide online membership and payment.
2019-06-25 23:33:35 +02:00
#### Events Registrations
2019-06-04 22:59:41 +02:00
With CiviCRM, you can provide an online diary to let members or public register for free or with a payment
2019-06-25 23:33:35 +02:00
#### Newsletter/Mailing
2019-06-04 22:59:41 +02:00
Best way to manage that is using CiviCRM and its mailing module
2019-06-25 23:33:35 +02:00
### Forum
2019-06-04 22:59:41 +02:00
You have several choices, or having an integrated forum in Drupal or using a dedicated forum system like [Flarum ](https://github.com/YunoHost-Apps/flarum_ynh )
2019-06-25 23:33:35 +02:00
### Backup
2019-06-04 22:59:41 +02:00
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 ](https://github.com/YunoHost-Apps/archivist_ynh ) is an automatic backup system for your server. Your backups can be send to many other places, local or distant.
* [Borg ](https://github.com/YunoHost-Apps/borg_ynh ) and [Borg Server ](https://github.com/YunoHost-Apps/borgserver_ynh ) allow to externalize backups
* [Fallback ](https://github.com/YunoHost-Apps/fallback_ynh ), 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.
2019-06-25 23:33:35 +02:00
### Go further
2019-06-04 22:59:41 +02:00
2019-06-25 23:33:35 +02:00
#### Federated Photo Gallery
2019-06-04 22:59:41 +02:00
* [Pixelfed ](https://github.com/YunoHost-Apps/pixelfed_ynh )
2019-06-25 23:33:35 +02:00
#### Federated Audio Gallery
2019-06-04 22:59:41 +02:00
* [Reel2Bits ](https://github.com/YunoHost-Apps/reel2bits_ynh )
2019-07-13 14:55:04 +02:00
* [Funkwhale ](https://github.com/YunoHost-Apps/funkwhale_ynh )
2019-06-04 22:59:41 +02:00
2019-06-25 23:33:35 +02:00
#### Federated Video Gallery
2019-06-04 22:59:41 +02:00
* [PeerTube ](https://github.com/YunoHost-Apps/peertube_ynh )
2019-06-25 23:33:35 +02:00
#### Federated Social Networking
2019-06-04 22:59:41 +02:00
* [Mastodon ](https://github.com/YunoHost-Apps/mastodon_ynh )
* [Pleroma ](https://github.com/YunoHost-Apps/pleroma_ynh )
* [Mobilizon ](https://github.com/YunoHost-Apps/mobilizon_ynh )
2019-06-25 23:33:35 +02:00
#### Federated Blog
2019-06-04 22:59:41 +02:00
* [Plume ](https://github.com/YunoHost-Apps/plume_ynh )
* [Writefreely ](https://github.com/YunoHost-Apps/writefreely_ynh )
2019-06-25 23:33:35 +02:00
#### Chat
2019-06-04 22:59:41 +02:00
* [Mattermost ](https://github.com/YunoHost-Apps/mattermost_ynh )
2019-06-25 23:33:35 +02:00
## Conclusion
2019-06-04 22:59:41 +02:00
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.
2019-06-19 01:41:14 +02:00
And if one is not available, they can [package it for YunoHost ](https://yunohost.org/#/contributordoc ), it's very simple.