serveur_hebergement:kresus

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveur_hebergement:kresus [2022/10/07 13:37] – fateserveur_hebergement:kresus [2026/10/19 08:40] (Version actuelle) – [Kresus] fate
Ligne 6: Ligne 6:
 Le gros avantage de Kresus comparé au site de votre banque, c'est qu'il permet de conserver tout l'historique de votre compte (là où les sites de banques ne gardent que 2 ou 3 mois), permet de créer des catégories de dépenses (courses, essences, travaux, EDF, crédit, etc), de les attribuer automatiquement et de centraliser tous vos comptes en un seul site si vous avez des comptes dans plusieurs banques. Le gros avantage de Kresus comparé au site de votre banque, c'est qu'il permet de conserver tout l'historique de votre compte (là où les sites de banques ne gardent que 2 ou 3 mois), permet de créer des catégories de dépenses (courses, essences, travaux, EDF, crédit, etc), de les attribuer automatiquement et de centraliser tous vos comptes en un seul site si vous avez des comptes dans plusieurs banques.
  
-Le gros inconvénient c'est que Kresus a besoin de l'identifiant et du mot passe d'accès au site de la banque pour pouvoir fonctionner. Et les deux sont stockés dans la base de données avec le cookie de double authentification de session. Si par malheur une personne malveillante arrive à accéder à la base PostgreSQL de Kresus, il a tout ce qu'il lui faut pour accéder à votre compte en banque. +Kresus a besoin de l'identifiant et du mot passe d'accès au site de la banque pour pouvoir fonctionner. Vous pouvez soit les stocker dans la base de données, soit les rentrer à chaque synchronisation. Perso, je préfère les stocker dans mon gestionnaire de mot de passe auto-hébergé plutôt que dans la base de Kresus.
-Vous êtes prévenus.+
  
 ===== Installation des dépendances ===== ===== Installation des dépendances =====
  
 Vous allez avoir besoin de plusieurs logiciels pour l'installation : Vous allez avoir besoin de plusieurs logiciels pour l'installation :
-<code bash>sudo aptitude install git npm postgresql python3 </code>+<code bash>sudo aptitude install git npm postgresql python3 python3-pdfminer</code>
  
  
Ligne 20: Ligne 19:
 <code bash>sudo useradd -m kresus</code> <code bash>sudo useradd -m kresus</code>
  
-Connectez vous avec cet utilisateur :+Connectez vous avec cet utilisateur :
 <code bash>sudo -i -u kresus</code> <code bash>sudo -i -u kresus</code>
- 
-Récupérez les sources : 
-<code bash>git clone https://framagit.org/kresusapp/kresus</code> 
  
 Lancez l'installation : Lancez l'installation :
 <code bash> <code bash>
-cd kresus +npm install --prefix /home/kresus/ kresus
-npm install --legacy-peer-deps+
 </code> </code>
  
Ligne 35: Ligne 30:
  
 Woob est plus simple à installer. Toujours avec l'utilisateur kresus, lancez la commande suivante : Woob est plus simple à installer. Toujours avec l'utilisateur kresus, lancez la commande suivante :
-<code bash>pip install --user woob</code>+<code bash>pipx install woob</code> 
 + 
 +Certains modules de Woob nécessite des dépendances (python-jose par exemple). Si de telle dépendances sont nécessaires, la commande pour les installer est la suivante :  
 +<code bash>pipx inject woob python-jose</code>
  
 ===== Création de la base de données ===== ===== Création de la base de données =====
  
 Kresus a besoin d'une base de données Postgresql pour fonctionner. Kresus a besoin d'une base de données Postgresql pour fonctionner.
- 
  
  
Ligne 61: Ligne 58:
 <code bash>exit</code> <code bash>exit</code>
  
 +===== Configuration de Kresus =====
  
 +Dans le dossier d'installation, vous trouverez un fichier config.ini.
 +Vous devez modifier, si besoin : 
 +  * la ligne "datadir" pour indiquer l'emplacement du dossier data (/home/kresus/database)
 +  * la partie [email] si vous souhaitez activer les alarmes par mail
 +  * la partie [db] pour indiquer les informations de connexion à la base (adresse, nom utilisateur, mot de passe, etc)
 +  * la ligne "python_exec" pour indiquer le python de l'environnement virtuel de Woob, qui devrait être /home/kresus/.local/pipx/venvs/woob/bin/python (à adapter avec votre utilisateur)
  
 +===== Configuration d’Apache2 =====
  
 +Créez le fichier 
 +<code>/etc/apache2/sites-available/kresus.domaine.fr.conf</code>
 +Remplacez domaine.fr par votre nom de domaine
  
 +Collez les lignes suivantes dedans (en remplaçant de nouveau domaine.fr par votre nom de domaine)
 +<code apache>
 +<VirtualHost *:80>
  
 +        ServerName kresus.domaine.fr
 +        
 +        Redirect / https://kresus.domaine.fr/
 +
 +</VirtualHost>
 +
 +
 +<VirtualHost *:443>
 +
 +        ServerName kresus.domaine.fr
 +        
 +        LogLevel warn
 +        CustomLog ${APACHE_LOG_DIR}/kresus.access.log combined
 +        ErrorLog ${APACHE_LOG_DIR}/kresus.error.log
 +
 +        SSLEngine on
 +
 +        SSLCertificateFile /etc/letsencrypt/live/domaine.fr/fullchain.pem
 +        SSLCertificateKeyFile /etc/letsencrypt/live/domaine.fr/privkey.pem
 +
 +        ProxyPass / http://localhost:9876/
 +        <Location />
 +                ProxyPassReverse http://localhost:9876/
 +                AuthType Digest
 +                AuthName "Kresus"
 +                AuthDigestDomain /home/kresus/kresus/ https://kresus.domaine.fr
 +                AuthDigestProvider file
 +                AuthUserFile /etc/apache2/passwords
 +                Require valid-user
 +                SetEnv R_ENV "/home/kresus/kresus"              
 +        </Location>
 +
 +</VirtualHost>
 +</code>
 +
 +Créez le mot de passe d'accès à Kresus (remplacez nomutilisateur) :
 +<code bash>sudo htdigest /etc/apache2/passwords Kresus nomutilisateur</code>
 +
 +Activez le fichier de conf Apache
 +<code bash>a2ensite kresus.nomdedomaine.fr.conf</code>
 +
 +Redémarrez Apache
 +<code bash>systemctl restart apache2</code>
 +
 +===== Lancement de Kresus via Systemd =====
 +
 +Créez le fichier 
 +<code>/etc/systemd/system/kresus.service</code>
 +
 +Copiez les lignes suivantes dedans
 +<code>
 +[Unit]
 +Description=Personal finance manager
 +After=network.target postgresql.service
 +
 +[Service]
 +WorkingDirectory=/home/kresus/
 +Environment=NODE_ENV=production
 +ExecStartPre=/bin/sleep 60
 +ExecStart=/home/kresus/node_modules/kresus/bin/kresus.js --config /home/kresus/config.ini
 +
 +Type=simple
 +Restart=always
 +
 +User=kresus
 +
 +StandardOutput=journal
 +StandardError=inherit
 +SyslogIdentifier=kresus
 +
 +[Install]
 +WantedBy=multi-user.target
 +
 +</code>
 +
 +Activez le service au démarrage
 +<code bash>sudo systemctl enable kresus.service</code>
 +
 +Démarrez le service
 +<code bash>sudo systemctl start kresus.service</code>
 +
 +Vous pouvez maintenant accéder à Kresus à l'adresse kresus.domaine.fr
 +
 +===== Mise à jour =====
 +
 +Lorsqu'une nouvelle version sort, pour mettre à jour Kresus, il vous suffit de relancer les étapes d'installation.
 +Connectez vous avec l'utilisateur kresus :
 +<code bash>sudo -i -u kresus</code>
 +
 +Lancez l'installation :
 +<code bash>
 +npm install --prefix /home/kresus/ kresus
 +</code>
 +
 +S'il ne vous installe pas la dernière version disponible (voir [[https://www.npmjs.com/package/kresus|ici]] pour les versions), lancez la commande en ajoutant le numéro de la dernière version. Exemple avec la version 0.19.0 :
 +<code bash>
 +npm install --prefix /home/kresus/ kresus@0.19.0
 +</code>
  • serveur_hebergement/kresus.1665149848.txt.gz
  • Dernière modification : 2023/08/08 14:01
  • (modification externe)