Ceci est une référence rapide pour avoir DemocracyOS installé et s’exécutant.

Prérequis

Pour démarrer avec DemocracyOS, vous devez avoir installé :

  • MongoDB base de données de document open-source.
  • NodeJS & NPM plateforme.
  • Git système de controle de version distribué. Si vous êtes sur github et n’avez pas git, vous avez faux.
  • Make utilitaire d’automatisation de la compilation.
  • OpenSSL pour le cas où vous souhaiteriez générer des certificats SSL.

Notes

L’exécution dans un environnement Windows n’est actuellement pas pris en charge. Si vous connaissez bien Docker ou Vagrant, venez nous aider et soumettez un PR de façon à ce que nous puissions collaborer à une solution pour cela.

Installation

Unix and OS/X

  • Fork ou téléchargez depuis ce dépôt.
  • cd jusqu’à l’emplacement du projet
  • Assurez-vous que MongoDB est en cours d’exécution et peut être atteint comme configuré dans config/development.json. (Les valeurs par défaut devraient fonctionner)
  • Exécuter make
  • Boum! DemocracyOS devrait s’exécuter sur le port 3000.

Veuillez vous référer à la section Configuration pour personnaliser les paramètres.

Exécution

Une fois que les composants et les dépendances DemocracyOS sont installés, vous pouvez démarrer l’application comme ceci :

make run

Regardez dans le Makefile pour plus d’informations sur les tâches qu’il vous est possible d’exécuter.

Vous pouvez vérifier la version actuelle de DemocracyOS en allant à http://localhost:3000/api

Utilisation de SSL

Dans le cas où vous souhaitez utiliser SSL dans votre environnement de développement (c’est désactivé par défaut) vous avez besoin d’avoir des fichiers de certificats corrects. Nous fournissons un script qui génère les fichiers nécessaires. Exécutez la commande suivant à la racine du projet :

NODE_PATH=. node bin/dos-ssl

Puis modifiez votre fichier de configuration en changeant la propriété protocol à https et exécutez-le normalement. Les options de configuration pour SSL sont listées ici.

Une note sur l’utilisation du port 443

Le fichier de configuration par défaut fait écouter le port 443 à l’application pour prendre en charge les connexions SSL. Sur certains OS, un utilisateur normale ne peut exécuter cette opération, et vous obtiendrez surement cette erreur :

events.js:72
       throw er; // Unhandled 'error' event
             ^
Error: bind EACCES
   at errnoException (net.js:904:11)
   at net.js:1072:30
   at Object.37:1 (cluster.js:594:5)
[...]

Pour la résoudre sans être root (ce qui est toujours une mauvaise idée, vous pouvez modifier la valeur ssl.port dans le fichier de configuration vers un autre port, disons 4443.

Exécution dans un environnement de production

  1. Configurez les variables d’environnement pour la production; de façon spécifique, définissez NODE_ENV sur production
  2. Définissez l’instance MongoDB pour s’exécuter comme service.
  3. Assurez-vous de configurer correctement le Notifier pour les environnements de production.
  4. À partir du chemin racine du prjet, vous devez makeou :
  5. npm install pour installer les dépendances node.
  6. npm run build && npm run start pour compiler les ressources et exécuter l’application. N’exécutez pas commesudo.

Si quelque chose se passe mal, vous pouvez toujours revenir à un slate propre en exécutant make clean.

Spécificités OS

  • Lisez ce guide très détaillé si vous êtes sur Ubuntu 10 LTS.
  • Sur Ubuntu 14/13/inférieur, installez le package node-legacy pour NodeJS.
  • Lisez ce guide pour savoir comment exécuter DemocracyOS comme service.

Chargement de données exemple

Pour pouvoir voir un déploiement fonctionnant complètement, vous allez avoir besoin de données d’exemple. Cela peut être réalisé par l’une ou l’autre de ces approches : * Manuellement, chargez des données exemple intégrées à DemocracyOS. * Définissez et accédez le module d’administrat.