Kresus

Tutoriels de la communauté

Tout d'abord, remercions tous les membres de la communauté pour tous les tutoriels complets et très bien documentés expliquant comment installer Kresus dans des conditions particulières !

Si vous écrivez un tutoriel lié à l'installation ou l'utilisation de Kresus, n'hésitez-pas à nous contacter et nous serons ravis de l'inclure dans cette liste !

Installation avec Docker

Attention : à lire avant de lancer une image docker (pré-construite ou non)

Par défaut docker expose le port 9876 à 0.0.0.0, rendant ainsi votre Kresus visible par tous. Si vous êtes derrière un reverse-proxy tel que nginx ou apache, préférez -p 127.0.0.1:9876:9876 pour rendre visible Kresus uniquement à votre reverse-proxy. Cette documentation utilisera cependant -p 9876:9876 dans tous les exemples ci-dessous, afin de rester générique.

Lancez une image pré-construite

L'image Docker a l'avantage d'inclure toutes les dépendances nécessaires, dont une installation de Weboob complète. A chaque redémarrage de l'image, Weboob essayera de se mettre à jour ; si vous rencontrez donc un problème de modules, il est recommandé de simplement redémarrer l'image (un simple restart suffit).

L'image pré-construite expose plusieurs volumes de données. Il n'est pas obligatoire de les monter, mais cela vous permet de conserver vos données personnelles entre les redémarrages de l'image Docker.

Note : si vous clonez Weboob, il vous est suggéré d'utiliser la version de devel qui devrait être à jour.

La variable d'environnement suivante peut être définie :

Voici un exemple de ligne de commande pour lancer Kresus en production dans une image Docker, avec le même utilisateur UNIX que l'actuel :

mkdir -p /opt/kresus/data
mkdir -p /opt/kresus/weboob
git clone https://git.weboob.org/weboob/devel.git /opt/kresus/weboob

docker run -p 9876:9876 \
    -e LOCAL_USER_ID=`id -u` \
    -v /opt/kresus/data:/home/user/data \
    -v /opt/kresus/weboob:/weboob \
    -v /opt/kresus/config.ini:/opt/config.ini \
    --name kresus \
    -ti -d bnjbvr/kresus

Utilisation de docker-compose

Le répertoire docker-compose comprend tous les éléments pour lancer facilement kresus :

Les fonctionnalités sont :

Prérequis :

Méthodologie

Construire l'image soi-même

Image stable

L'image correspondant à la dernière version stable de Kresus peut être téléchargée via le hub de Docker. Il s'agit de l'image accessible via bnjbvr/kresus.

Il est possible de la reconstruire à la main. Vous aurez besoin de nodejs 4 ou plus récent et de npm pour reconstruire l'image de zéro.

git clone https://framagit.org/bnjbvr/kresus && cd kresus
docker build -t myself/kresus -f docker/Dockerfile-stable .

Vous pouvez ensuite l'utiliser:

docker run -p 9876:9876 -v /opt/kresus/data:/home/user/data -ti -d myself/kresus

Image Nightly

Il existe aussi une image Nightly, avec les derniers changements, construite chaque nuit à partir du dépôt Git. Attention, cette image est expérimentale et peut contenir de nombreux bugs ou corrompre vos données, car la branche master peut être instable de temps en temps. Cette image récupèrera les dernières sources depuis le dépôt Git en ligne et n'utilisera donc pas de sources locales.

Pour construire une image Nightly compilée pour une utilisation en production:

make docker-nightly-prod

Cette commande construira une image nommée bnjbvr/kresus-nightly.

Pour la lancer ensuite, vous pouvez utiliser la même commande docker run que précédemment, en adaptant le nom de l'image:

docker run -p 9876:9876 \
    -e LOCAL_USER_ID=`id -u` \
    -v /opt/kresus/data:/home/user/data \
    -v /opt/kresus/weboob:/weboob \
    -v /opt/kresus/config.ini:/opt/config.ini \
    --name kresus \
    -ti -d bnjbvr/kresus-nightly

Installation dans Yunohost

Une application pour Yunohost est disponible. Celle-ci est encore récente et expérimentale, n'hésitez pas à nous signaler tout problème que vous pourriez rencontrer.

Pré-requis pour les autres installations

Kresus utilise Weboob sous le capot, pour se connecter au site web de votre banque. Vous aurez besoin d'installer le cœur et les modules Weboob afin que l'utilisateur exécutant Kresus puisse les utiliser.

Kresus nécessite la dernière version stable de Weboob. Bien que Kresus puisse fonctionner avec de précédentes versions, les modules des banques peuvent être obsolètes, et la synchronisation avec votre banque pourrait être dysfonctionnelle.

Installation autonome

AVERTISSEMENT: Il n'y a aucun système d'authentification intégré dans Kresus, il est donc risqué de l'utiliser tel quel. Choisissez cette option uniquement si vous savez ce que vous faites et êtes capable de gérer l'authentification vous-même…

Cela installera les dépendances Node, construira le projet et installera le programme dans le répertoire node.js global. Notez que si cet emplacement est /usr/local/bin, vous devrez probablement lancer cette commande en tant que root.

Installation locale

Pour installer les dépendances node et compiler les scripts (cela n'installera pas Kresus globalement) pour un usage en production :

npm install && npm run build:prod

Vous pourrez alors lancer Kresus en utilisant

NODE_ENV=production npm run start

Note : Vous pouvez aussi utiliser npm run build:dev pour compiler les scripts en mode de développement (mieux pour débugger mais inadapté pour un usage en production).

Installation globale

Autrement, si vous souhaitez installer Kresus globalement vous utiliserez :

make install

Et pourrez ensuite simplement lancer Kresus depuis n'importe quel terminal depuis n'importe quel répertoire avec :

kresus

Configuration

Avec un fichier config.ini

Vous pouvez définir toutes les options à utiliser dans un fichier INI et passer l'argument -c path/to/config.ini à Kresus au lancement. Un fichier config.ini.example est disponible dans le dépôt Git pour lister les options disponibles. Il peut être copié et édité pour mieux correspondre à vos choix.

Sécurité : En mode production (NODE_ENV=production), si le fichier de configuration ne fournit pas uniquement les droits de lecture ou lecture/écriture à son propriétaire, en utilisant les permissions du système de fichier, Kresus refusera de démarrer.

Avec des variables d'environnement

Notez que chaque option de configuration a une variable d'environnement associée : si la variable d'environnement est définie, elle surchargera la configuration du fichier INI ou la valeur par défaut. Référez-vous au fichier config.ini.example pour trouver toutes les variables d'environnement utilisables.

Recommandations pour le pare-feu

Vous devrez définir les autorisations suivantes :