Sign inSign up

nanawel/webhomebank

By nanawel

•Updated over 1 year ago

A simple web-viewer for Homebank XML files. More info on https://github.com/nanawel/webhomebank

Image
0

2.1K

nanawel/webhomebank repository overview

WebHomeBank

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

Preview 1

Preview 2

Preview 3

Preview 4

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⁠

Copyright (c) 2015 AnaĆ«l Ollier <[email protected]⁠>

Tag summary

Content type

Image

Digest

sha256:dea6d2fbd…

Size

206.1 MB

Last updated

over 1 year ago

docker pull nanawel/webhomebank