Public | Automated Build

Last pushed: a year ago
Short Description
A simple web-viewer for Homebank XML files. More info on https://github.com/nanawel/webhomebank
Full Description

A simple web-viewer for Homebank XML files. HomeBank is a free software developed by Maxime Doyen that will assist you
to manage your personal accounting, released under the GPL v2 license.

Please visit http://homebank.free.fr/ for more information about the original software.

Demo

An online demo is available at http://webhomebank-demo.dyndns.org/, check it out!

Notice: it uses the example XHB file provided by HomeBank, with operations dated between 2003 and 2004. As a consequence,
some filters based on current date might not seem really relevant...

Previews

More screenshots below:

Installation

From sources

Requirements:

  • Apache 2.x with the following modules enabled:
    • rewrite
    • php5
    • expires (optional)

(should also work with Lighttpd or Nginx))

  • PHP 5.5+ with the following extensions enabled:
    • mcrypt
    • pdo_sqlite
    • intl
    • sqlite3

Instructions

Clone repository into the folder of your choice and set up your webserver to point to it. You may want to create a
dedicated virtual host.

Copy the sample configuration etc/local.ini.sample to etc/local.ini and set the BUDGET_FILE variable to point to your
XHB file (HomeBank save file).

Install the dependencies with Composer (it may take a few minutes).

composer -d src/ install

Open your browser and go to the index.php of the application.

If you plan to use a reverse-proxy/load-balancer, please read the section below in order to configure the special
X-External-Base-Path header directive.

You can override any configuration directive present in etc/*.ini files from local.ini. Just add the corresponding
section if necessary. Some examples are already commented in it.

With provided Docker build file

Clone repository at the location of your choice, it can be a temporary folder.

Install the dependencies with Composer (it may take a few minutes).

composer -d src/ install

Then build the image (based on php:5.6-apache).

docker build -t webhomebank .

Run it (you may want to tune some settings)

docker run -it --rm \
    -p 49080:80 \                                                       # App will be available from host at localhost:49080
    -v /home/myuser/mybudget.xhb:/var/www/html/data/userfile.xhb:ro \   # Replace first part with the path to your .xhb file
    --name my-webhomebank \                                             # Name of the new container
    webhomebank                                                         # Name of the image (above in the build command)

Notice (1): The .xhb file must be readable on the host by the UID the webserver of the container uses (www-data: UID 33).

Notice (2): The container does not support SSL. You may want to use a SSL-enabled reverse-proxy before it to secure
the connection.

Apache configuration when used as reverse-proxy

In this example, we want the application to be accessible from path /whb from the RP on the standard HTTP port
(ex: http://mywebhost.me/whb), while the Docker container exposes its port 80 on the port
49080 on localhost.

The following directives should be placed into your VirtualHost listening on port 80.

ProxyRequests Off
ProxyPreserveHost On
ProxyPass /whb http://localhost:49080/
ProxyPassReverse /whb http://localhost:49080/
<Location /whb>
    RequestHeader set X-External-Base-Path /whb
</Location>

Apache configuration when used as reverse-proxy with SSL

In this example, we want the application to be accessible from path /whb from the RP on the standard HTTPS port
(ex: https://mywebhost.me/whb), while the Docker container exposes its port 80 on the port
49080 on localhost. Hence SSL is provided solely by the RP.

The following directives should be placed into your VirtualHost listening on port 443.

ProxyRequests Off
ProxyPreserveHost On
ProxyPass /whb http://localhost:49080/
ProxyPassReverse /whb http://localhost:49080/
<Location /whb>
    RequestHeader set X-External-Base-Path /whb
    RequestHeader set X-Forwarded-Proto https
</Location>

License

See LICENSE

Third Party Libraries

The "loading pie" has been created with loading.io

Legal Notice

Copyright (c) 2015 Anaël Ollier <nanawel+DONT.SPAM.ME@gmail.com>

Docker Pull Command
Owner
nanawel
Source Repository

Comments (0)