ActualBudget

Qu’est-ce que ActualBudget ?

Installation

apt install npm
npm install -g yarn
root@srvprj02ovh:/home/adm_sys-l.filippi# npm --dns-result-order=ipv4first install --global yarn
(⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂⠂)  idealTree:lib: sill idealTree buildDeps
npm ERR! code EHOSTUNREACH
npm ERR! syscall connect
npm ERR! errno EHOSTUNREACH
npm ERR! request to https://registry.npmjs.org/yarn failed, reason: connect EHOSTUNREACH 2606:4700::6810:1a22:443
echo "alias npm='node --dns-result-order=ipv4first /usr/bin/npm'" >> ~/.bashrc
source ~/.bashrc
npm install yarn

cd /var/www/
git clone https://github.com/actualbudget/actual-server.git
cd actual-server
yarn install #J'ai du désactivé mon firewall v6 le temps de l'install, je sais pas ce qui bloque.

Configuration

Génération des certificats

On a ici besoin d’un simple petit certificat web server :

SERVER;budget.prj.luclis.fr;Paris;adminca@luclis.fr;ext.prj.luclis.fr;budget.luclis.fr;;Certificat pour le site de finance.

On créer le certificat, puis on l’envoie là où il faut :

cp /srv/IGC/luclis.fr/delegated_ca/private/budget.prj.luclis.fr.key /etc/ssl/private/actualbudget.luclis.fr.key;
cat /srv/IGC/luclis.fr/delegated_ca/public/budget.prj.luclis.fr.pem /srv/IGC/luclis.fr/delegated_ca/public/ca_chain.pem | tee /etc/ssl/public/actualbudget.luclis.fr_chain.pem;

Configuration du serveur web

Le principe est d’y avoir accès depuis n’importe ou, donc par web ! La configuration Nginx :

#actualbudget nginx conf
server {
  listen 80;
  server_name budget.luclis.fr;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  http2 on;
  server_name budget.luclis.fr;

  ssl_certificate     /etc/ssl/public/actualbudget.luclis.fr_chain.pem;
  ssl_certificate_key /etc/ssl/private/actualbudget.luclis.fr.key;
#  ssl_password_file   /etc/ssl/private/actualbudget.luclis.fr.pass;
  client_max_body_size 50m;

  #Fichier de logs
  access_log      /var/log/nginx/actualbudget_access.log;
  error_log       /var/log/nginx/actualbudget_error.log;

  location / {
	  #    include /config/nginx/proxy.conf;
	  #    include /config/nginx/resolver.conf;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;

    set $upstream_app 127.0.0.1;
    set $upstream_port 5006;
    set $upstream_proto http;
    proxy_pass $upstream_proto://$upstream_app:$upstream_port;
  }
}

Et on redémmare nginx

systemctl restart nginx

Création de l’entrée DNS

Comme je ne souhaite pas exposer le service en externe, je vais créer mes entrées DNS dans mon samba uniquement.

samba-tool dns add srvprj02ovh.luclis.fr luclis.fr budget.luclis.fr  CNAME srvprj02ovh.luclis.fr

Sécurisation

Utilisation

TroubleShooting