====== FAVA ====== See [[linux:misc|Common Linux Commands]] for [start | stop | status] services commands ===== Installation ===== ## dependencies $ sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev lib32ncurses5-dev python3-pip $ sudo easy_install3 lxml werkzeug itsdangerous $ sudo chmod 777 -R /usr/local/lib/python3.5/dist-packages $ sudo chmod 777 -R /usr/local/bin ## beancount $ sudo apt-get install python-dev libxslt1-dev libxml2-dev $ sudo pip3 install beancount ## -- depreciated # $ bean-example > example.beancount # $ bean-report example.beancount ledger > example.lgr ## fava ## -- depreciated #$ sudo pip3 install beancount-fava readline $ sudo pip3 install fava readline $ sudo easy_install3 fava ## python environment $ sudo pip3 install virtualenv $ sudo easy_install3 virtualenv ===== Setup ===== ## python environment $ sudo mkdir /opt/ENV_Python3.5 $ sudo virtualenv -p python3 /opt/ENV_Python3.5 ## test $ source /opt/ENV_Python3.5/bin/activate (ENV_Python3.5) $ fava example.beancount # (ENV_Python3.5) $ fava example.beancount -p $PORT (ENV_Python3.5) $ fava example.beancount -p $PORT -H 0.0.0.0 autostart: $ sudo nano /opt/ENV_Python3.5/bin/fava_start.sh < /opt/ENV_Python3.5/bin/fava_start.sh > #! /bin/bash source /opt/ENV_Python3.5/bin/activate export LC_ALL=C.UTF-8 export LANG=C.UTF-8 fava /home/user1/beans/bean1.beancount -p 5000 & fava /home/user1/beans/bean2.beancount -p 5001 ## test script $ /opt/ENV_Python3.5/bin/fava_start.sh ## add init info for LSB tags and overrides $ sudo nano /etc/init.d/fava < /etc/init.d/fava > #!/bin/bash ### BEGIN INIT INFO # Provides: fava # Required-Start: $local_fs $network # Required-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: fava # Description: fava pop & imap daemon ### END INIT INFO USER=`id -u user1` PIDFILE=/var/run/fava.pid CMD=/opt/ENV_Python3.5/bin/fava_start.sh case "$1" in start) start-stop-daemon --start --user $USER --pidfile $PIDFILE --chuid $USER --startas $CMD ;; stop) start-stop-daemon --stop --user $USER --pidfile $PIDFILE --chuid $USER ;; esac exit 0 $ sudo chmod +x /etc/init.d/fava $ sudo nano /lib/systemd/system/fava.service < /lib/systemd/system/fava.service > [Unit] Description=Fava [Service] Type=oneshot ExecStart=/etc/init.d/fava start RemainAfterExit=no User=root Group=root [Install] WantedBy=multi-user.target $ sudo update-rc.d fava enable $ sudo systemctl enable fava $ ls /etc/rc0.d # K01fava