Table of Contents

FAVA

See 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