-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathREADME.html
67 lines (51 loc) · 2.42 KB
/
README.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<!DOCTYPE html>
<title>ledgible: web-based double-entry accounting</title>
<meta charset=utf-8>
<style>
m { color: chocolate }
samp,aside { color: #555 }
kbd { color: green }
section { border-top: 3px ridge; }
</style>
<h1>ledgible</h1>
<p>ledgible is a fully-featured web interface for the <a href=http://ledger-cli.org>ledger-cli</a> accounting program.
<section>
<p>If you use already use ledger-cli:
<ul>
<li><p><strong>ease data entry</strong> with adaptive autocompletion that learns from your existing data; add transactions in mere seconds with no wasted keystrokes.
<li><p><strong>visualize your finances</strong> to understand your cash flow, see your account balances, and track your net worth over time
<li><p><strong>add transactions immediately</strong> as they occur; your data are available anywhere in the world
</ul>
<hr>
<p>ledgible is usable by <strong>normal people</strong> (my parents, siblings, and spouse used it before I migrated us all to <a href=//beancount.github.io/fava/>fava</a>) if some trustworthy sysadmin hosts it for them
</section>
<section>
<h2>Installation</h2>
<h3>0. Install dependencies</h3>
<ul>
<li>git
<li>python2-flask
<li>ledger-cli compiled with python support (cmake flag -DUSE_PYTHON:BOOL=TRUE)
<li>any web server - ledgible must be run as CGI application due to limitation of ledger-cli's python bindings
</ul>
<h3>1. Create a git repository for your data</h3>
<pre>$ mkdir finances
$ cd finances
$ touch <m>ledger.dat</m>
$ git init</pre>
<aside>Note: Your CGI process will need permission to modify your git repository. For easiest set up, run the above commands under the user account of your web server. You are of course free to set up more advanced configurations using shared repositories and/or git hooks if you have the inclination or know-how.</aside>
<h3>2. Install and configure ledgible</h3>
<pre>$ cd /srv/http
$ wget https://lipidity.com/pub/web/ledgible/ledgible.tar.gz
$ tar xf ledgible.tar.gz
$ cd ledgible
$ python2 gen_settings.py
<samp>username: </samp><kbd>john</kdb>
<samp>password: </samp><kbd>letmein</kdb>
<samp>ledger file: </samp><kbd><m>/srv/http/finances/ledger.dat</m><kbd></pre>
<h3>3. Start your server</h3>
<p>Set up ledgible/app.py to be run as a CGI application.
<p>Refer to instructions of your selected web server.
</section>
<section>
<p>Note: ledger-cli compiled with python support allows arbitrary code execution by design. Safeguard your ledgible login details.