mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 09:22:38 +02:00
Re-organize the documentation (#223)
* Re-organize the documentation * Fix encoding errors for python 2 * Document the dependencies. Fixes #199 * Add a make update command. Fixes #211
This commit is contained in:
parent
93235cfc50
commit
db29648956
11 changed files with 233 additions and 440 deletions
2
LICENSE
2
LICENSE
|
@ -21,7 +21,7 @@ that the following conditions are met:
|
|||
|
||||
* If you meet the authors of this software in person and you want to
|
||||
pay them a beer, you're encouraged to do so. Please, do. If you have
|
||||
homebrewed beer, this works as well (may even be better).
|
||||
homebrewed or a craft beer, it might be even better.
|
||||
|
||||
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
||||
|
|
5
Makefile
5
Makefile
|
@ -23,6 +23,11 @@ $(DEV_STAMP): $(PYTHON) dev-requirements.txt
|
|||
$(VENV)/bin/pip install -Ur dev-requirements.txt
|
||||
touch $(DEV_STAMP)
|
||||
|
||||
remove-install-stamp:
|
||||
rm $(INSTALL_STAMP)
|
||||
|
||||
update: remove-install-stamp install
|
||||
|
||||
serve: install
|
||||
cd budget; $(PYTHON) run.py
|
||||
|
||||
|
|
160
README.rst
160
README.rst
|
@ -1,155 +1,23 @@
|
|||
Budget-manager
|
||||
##############
|
||||
I hate money
|
||||
############
|
||||
|
||||
.. image:: https://travis-ci.org/spiral-project/ihatemoney.svg?branch=master
|
||||
:target: https://travis-ci.org/spiral-project/ihatemoney
|
||||
:alt: Travis CI Build Status
|
||||
|
||||
This is a really tiny app to ease the shared houses budget management. Keep
|
||||
track of who bought what, when, and for who to then compute the balance of each
|
||||
person.
|
||||
«I hate money» is a web application made to ease shared budget management.
|
||||
It keeps track of who bought what, when, and for whom; and helps to settle the
|
||||
bills.
|
||||
|
||||
The code is distributed under a BSD beerware derivative: if you meet the people
|
||||
in person and you want to pay them a beer, you are encouraged to do so (see
|
||||
LICENSE for more details).
|
||||
* `Online documentation <https://ihatemoney.readthedocs.org>`_
|
||||
* `Hosted version <https://ihatemoney.org>`_
|
||||
|
||||
Make it run!
|
||||
The code is distributed under a BSD *beerware* derivative: if you meet the people
|
||||
in person and you want to pay them a craft beer, you are highly encouraged to do
|
||||
so.
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
With a `Python 3 <https://www.python.org/>`_ environment,
|
||||
`pip <https://pypi.python.org/pypi/pip/>`_ and
|
||||
`virtualenv <https://pypi.python.org/pypi/virtualenv>`_ installed,
|
||||
you just have to run the following command::
|
||||
|
||||
$ make serve
|
||||
|
||||
This will run a Flask app available at `http://localhost:5000`.
|
||||
|
||||
Deploy it
|
||||
=========
|
||||
|
||||
You have multiple options to deploy ihatemoney. Two of them are documented at the moment:
|
||||
|
||||
With Apache and mod_wsgi
|
||||
------------------------
|
||||
|
||||
1. Install Apache and mod_wsgi - libapache2-mod-wsgi(-py3) for Debian based and mod_wsgi for RedHat based distributions -
|
||||
|
||||
2. Create an Apache virtual host based on the sample configuration file in conf/apache-vhost.conf
|
||||
|
||||
3. Adapt it to your paths and specify your virtualenv path if you use one
|
||||
|
||||
4. Activate the virtual host if needed and restart Apache
|
||||
|
||||
With Nginx, Gunicorn and Supervisord
|
||||
------------------------------------
|
||||
|
||||
1. Add the lines in conf/supervisord.conf to your supervisord.conf file.
|
||||
**adapt them to your paths!**
|
||||
2. Copy and paste the content of conf/nginx.conf in your nginx conf file.
|
||||
**adapt them to your paths!**
|
||||
3. reload both nginx and supervisord. It should be working ;)
|
||||
|
||||
Don't forget to set the right permission for your files !
|
||||
|
||||
Configure it
|
||||
============
|
||||
|
||||
In a production environment
|
||||
---------------------------
|
||||
|
||||
Make a copy of ``budget/default_settings.py`` and name it ``ihatemoney.cfg``.
|
||||
Then adjust the settings to your needs and move this file to
|
||||
``/etc/ihatemoney/ihatemoney.cfg``.
|
||||
This is the default path of the settings but you can also place it
|
||||
elsewhere and pass the configuration file path to the application using
|
||||
the IHATEMONEY_SETTINGS_FILE_PATH environment variable.
|
||||
e.g.::
|
||||
|
||||
$ export IHATEMONEY_SETTINGS_FILE_PATH="/path/to/your/conf/file.cfg"
|
||||
|
||||
Note that you can also pass additional flask parameters with this file.
|
||||
e.g. If you want to prefix your URLs to serve ihatemonney in the *folder*
|
||||
of a domain, use the following: ::
|
||||
|
||||
APPLICATION_ROOT='/budget'
|
||||
|
||||
In a dev environment
|
||||
--------------------
|
||||
|
||||
It is better to actually turn the debugging mode on when you're developing.
|
||||
You can create a ``settings.cfg`` file, with the following content::
|
||||
|
||||
DEBUG = True
|
||||
SQLACHEMY_ECHO = DEBUG
|
||||
|
||||
You can also set the `TESTING` flag to `True` so no mails are sent
|
||||
(and no exception is raised) while you're on development mode.
|
||||
Then before running the application, declare its path with ::
|
||||
|
||||
$ export IHATEMONEY_SETTINGS_FILE_PATH="$(pwd)/settings.cfg"
|
||||
|
||||
The REST API?
|
||||
=============
|
||||
|
||||
Yep, you're right, there is a REST API with this. Head to the `api
|
||||
documentation <https://ihatemoney.readthedocs.io/en/latest/api.html>`_ to know more.
|
||||
|
||||
How to contribute
|
||||
=================
|
||||
|
||||
You would like to contribute? First, thanks a bunch! This project is a small
|
||||
project with just a few people behind it, so any help is appreciated!
|
||||
|
||||
There are different ways to help us, regarding if you are a designer,
|
||||
a developer or an user.
|
||||
|
||||
As a developer
|
||||
--------------
|
||||
|
||||
If you want to contribute code, you can write it and then issue a pull request on
|
||||
github. Please, think about updating and running the tests before asking for
|
||||
a pull request as it will help us to maintain the code clean and running.
|
||||
|
||||
To do so::
|
||||
|
||||
$ make test
|
||||
|
||||
As a designer / Front-end developer
|
||||
-----------------------------------
|
||||
|
||||
Feel free to provide us mockups or to involve yourself into the discussions
|
||||
hapenning on the github issue tracker. All ideas are welcome. Of course, if you
|
||||
know how to implement them, feel free to fork and make a pull request.
|
||||
|
||||
End-user
|
||||
--------
|
||||
|
||||
You are using the application and found a bug? You have some ideas about how to
|
||||
improve the project? Please tell us [by filling a new issue](https://github.com/spiral-project/ihatemoney/issues).
|
||||
Or, if you prefer, you can send me an email to `alexis@notmyidea.org` and I will
|
||||
update the issue tracker with your feedback.
|
||||
|
||||
Thanks again!
|
||||
|
||||
How to release?
|
||||
===============
|
||||
|
||||
In order to prepare a new release, we are following the following steps:
|
||||
|
||||
- Merge remaining pull requests;
|
||||
- Update :file:`CHANGELOG.rst` with the last changes;
|
||||
- Update :file:`CONTRIBUTORS`;
|
||||
- Update known good versions of dependencies in ``requirements.txt`` with this command (from inside the venv):
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip freeze | grep -v -- '-e' > requirements.txt
|
||||
|
||||
Once this is done, use the "release" instruction:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make release
|
||||
|
||||
And the new version should be published on PyPI.
|
||||
* **Python**: 2.7, 3.4, 3.5.
|
||||
* **Backends**: MySQL, PostgreSQL, SQLite, Memory.
|
||||
|
|
22
docs/_themes/pelican/layout.html
vendored
22
docs/_themes/pelican/layout.html
vendored
|
@ -1,22 +0,0 @@
|
|||
{% extends "basic/layout.html" %}
|
||||
{% block header %}
|
||||
{{ super() }}
|
||||
{% if pagename == 'index' %}
|
||||
<div class=indexwrapper>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block footer %}
|
||||
{% if pagename == 'index' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{# do not display relbars #}
|
||||
{% block relbar1 %}{% endblock %}
|
||||
{% block relbar2 %}
|
||||
{% if theme_github_fork %}
|
||||
<a href="http://github.com/{{ theme_github_fork }}"><img style="position: fixed; top: 0; right: 0; border: 0;"
|
||||
src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block sidebar1 %}{% endblock %}
|
||||
{% block sidebar2 %}{% endblock %}
|
254
docs/_themes/pelican/static/pelican.css_t
vendored
254
docs/_themes/pelican/static/pelican.css_t
vendored
|
@ -1,254 +0,0 @@
|
|||
/*
|
||||
* pelican.css_t
|
||||
* ~~~~~~~~~~~~
|
||||
*
|
||||
* Sphinx stylesheet -- pelican theme, based on the nature theme
|
||||
*
|
||||
* :copyright: Copyright 2011 by Alexis Metaireau.
|
||||
*/
|
||||
|
||||
@import url("basic.css");
|
||||
|
||||
/* -- page layout ----------------------------------------------------------- */
|
||||
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
font-size: 100%;
|
||||
background-color: white;
|
||||
color: #555;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.documentwrapper {
|
||||
width: 70%;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
div.bodywrapper {
|
||||
margin: 0 0 0 230px;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 1px solid #B1B4B6;
|
||||
}
|
||||
|
||||
div.document {
|
||||
}
|
||||
|
||||
div.body {
|
||||
background-color: #ffffff;
|
||||
color: #3E4349;
|
||||
padding: 0 30px 30px 30px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
div.footer {
|
||||
color: #555;
|
||||
width: 100%;
|
||||
padding: 13px 0;
|
||||
text-align: center;
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
div.footer a {
|
||||
color: #444;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div.related {
|
||||
background-color: #6BA81E;
|
||||
line-height: 32px;
|
||||
color: #fff;
|
||||
text-shadow: 0px 1px 0 #444;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
div.related a {
|
||||
color: #E2F3CC;
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
font-size: 0.75em;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
div.sphinxsidebarwrapper{
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3,
|
||||
div.sphinxsidebar h4 {
|
||||
font-family: Arial, sans-serif;
|
||||
color: #222;
|
||||
font-size: 1.2em;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 5px 10px;
|
||||
background-color: #ddd;
|
||||
text-shadow: 1px 1px 0 white
|
||||
}
|
||||
|
||||
div.sphinxsidebar h4{
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3 a {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
|
||||
div.sphinxsidebar p {
|
||||
color: #888;
|
||||
padding: 5px 20px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar p.topless {
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul {
|
||||
margin: 10px 20px;
|
||||
padding: 0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
div.sphinxsidebar a {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
div.sphinxsidebar input {
|
||||
border: 1px solid #ccc;
|
||||
font-family: sans-serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
div.sphinxsidebar input[type=text]{
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
/* -- body styles ----------------------------------------------------------- */
|
||||
|
||||
a {
|
||||
color: #005B81;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #E32E00;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
div.body h1,
|
||||
div.body h2,
|
||||
div.body h3,
|
||||
div.body h4,
|
||||
div.body h5,
|
||||
div.body h6 {
|
||||
font-family: Arial, sans-serif;
|
||||
font-weight: normal;
|
||||
color: #212224;
|
||||
margin: 30px 0px 10px 0px;
|
||||
padding: 5px 0 5px 10px;
|
||||
text-shadow: 0px 1px 0 white
|
||||
}
|
||||
|
||||
{% if theme_index_logo %}
|
||||
div.indexwrapper h1 {
|
||||
text-indent: -999999px;
|
||||
background: url({{ theme_index_logo }}) no-repeat center center;
|
||||
height: {{ theme_index_logo_height }};
|
||||
}
|
||||
{% endif %}
|
||||
div.body h1 {
|
||||
border-top: 20px solid white;
|
||||
margin-top: 0;
|
||||
font-size: 250%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.body h2 { font-size: 150%; background-color: #C8D5E3; }
|
||||
div.body h3 { font-size: 120%; background-color: #D8DEE3; }
|
||||
div.body h4 { font-size: 110%; background-color: #D8DEE3; }
|
||||
div.body h5 { font-size: 100%; background-color: #D8DEE3; }
|
||||
div.body h6 { font-size: 100%; background-color: #D8DEE3; }
|
||||
|
||||
a.headerlink {
|
||||
color: #c60f0f;
|
||||
font-size: 0.8em;
|
||||
padding: 0 4px 0 4px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.headerlink:hover {
|
||||
background-color: #c60f0f;
|
||||
color: white;
|
||||
}
|
||||
|
||||
div.body p, div.body dd, div.body li {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
div.admonition p.admonition-title + p {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.highlight{
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
div.note {
|
||||
background-color: #eee;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
div.seealso {
|
||||
background-color: #ffc;
|
||||
border: 1px solid #ff6;
|
||||
}
|
||||
|
||||
div.topic {
|
||||
background-color: #eee;
|
||||
}
|
||||
|
||||
div.warning {
|
||||
background-color: #ffe4e4;
|
||||
border: 1px solid #f66;
|
||||
}
|
||||
|
||||
p.admonition-title {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
p.admonition-title:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 10px;
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
line-height: 1.2em;
|
||||
border: 1px solid #C6C9CB;
|
||||
font-size: 1.1em;
|
||||
margin: 1.5em 0 1.5em 0;
|
||||
-webkit-box-shadow: 1px 1px 1px #d8d8d8;
|
||||
-moz-box-shadow: 1px 1px 1px #d8d8d8;
|
||||
}
|
||||
|
||||
tt {
|
||||
background-color: #ecf0f3;
|
||||
color: #222;
|
||||
/* padding: 1px 2px; */
|
||||
font-size: 1.1em;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.viewcode-back {
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
div.viewcode-block:target {
|
||||
background-color: #f4debf;
|
||||
border-top: 1px solid #ac9;
|
||||
border-bottom: 1px solid #ac9;
|
||||
}
|
10
docs/_themes/pelican/theme.conf
vendored
10
docs/_themes/pelican/theme.conf
vendored
|
@ -1,10 +0,0 @@
|
|||
[theme]
|
||||
inherit = basic
|
||||
stylesheet = pelican.css
|
||||
nosidebar = true
|
||||
pygments_style = fruity
|
||||
|
||||
[options]
|
||||
index_logo_height = 120px
|
||||
index_logo =
|
||||
github_fork =
|
|
@ -12,8 +12,3 @@ release = '1.0'
|
|||
|
||||
exclude_patterns = ['_build']
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
sys.path.append(os.path.abspath('_themes'))
|
||||
html_theme_path = ['_themes']
|
||||
html_theme = 'pelican'
|
||||
html_theme_options = { 'nosidebar': True }
|
||||
|
|
76
docs/contributing.rst
Normal file
76
docs/contributing.rst
Normal file
|
@ -0,0 +1,76 @@
|
|||
Contributing
|
||||
############
|
||||
|
||||
Setup a dev environment
|
||||
=======================
|
||||
|
||||
It is better to actually turn the debugging mode on when you're developing.
|
||||
You can create a ``settings.cfg`` file, with the following content::
|
||||
|
||||
DEBUG = True
|
||||
SQLACHEMY_ECHO = DEBUG
|
||||
|
||||
You can also set the `TESTING` flag to `True` so no mails are sent
|
||||
(and no exception is raised) while you're on development mode.
|
||||
Then before running the application, declare its path with ::
|
||||
|
||||
$ export IHATEMONEY_SETTINGS_FILE_PATH="$(pwd)/settings.cfg"
|
||||
|
||||
How to contribute
|
||||
=================
|
||||
|
||||
You would like to contribute? First, thanks a bunch! This project is a small
|
||||
project with just a few people behind it, so any help is appreciated!
|
||||
|
||||
There are different ways to help us, regarding if you are a designer,
|
||||
a developer or an user.
|
||||
|
||||
As a developer
|
||||
--------------
|
||||
|
||||
If you want to contribute code, you can write it and then issue a pull request on
|
||||
github. Please, think about updating and running the tests before asking for
|
||||
a pull request as it will help us to maintain the code clean and running.
|
||||
|
||||
To do so::
|
||||
|
||||
$ make test
|
||||
|
||||
As a designer / Front-end developer
|
||||
-----------------------------------
|
||||
|
||||
Feel free to provide us mockups or to involve yourself into the discussions
|
||||
hapenning on the github issue tracker. All ideas are welcome. Of course, if you
|
||||
know how to implement them, feel free to fork and make a pull request.
|
||||
|
||||
End-user
|
||||
--------
|
||||
|
||||
You are using the application and found a bug? You have some ideas about how to
|
||||
improve the project? Please tell us [by filling a new issue](https://github.com/spiral-project/ihatemoney/issues).
|
||||
Or, if you prefer, you can send me an email to `alexis@notmyidea.org` and I will
|
||||
update the issue tracker with your feedback.
|
||||
|
||||
Thanks again!
|
||||
|
||||
How to release?
|
||||
===============
|
||||
|
||||
In order to prepare a new release, we are following the following steps:
|
||||
|
||||
- Merge remaining pull requests;
|
||||
- Update :file:`CHANGELOG.rst` with the last changes;
|
||||
- Update :file:`CONTRIBUTORS`;
|
||||
- Update known good versions of dependencies in ``requirements.txt`` with this command (from inside the venv):
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ pip freeze | grep -v -- '-e' > requirements.txt
|
||||
|
||||
Once this is done, use the "release" instruction:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make release
|
||||
|
||||
And the new version should be published on PyPI.
|
|
@ -1 +0,0 @@
|
|||
../README.rst
|
24
docs/index.rst
Normal file
24
docs/index.rst
Normal file
|
@ -0,0 +1,24 @@
|
|||
I hate money
|
||||
############
|
||||
|
||||
«I hate money» is a web application made to ease shared budget management.
|
||||
It keeps track of who bought what, when, and for whom; and helps to settle the
|
||||
bills.
|
||||
|
||||
|
||||
Table of content
|
||||
================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
installation
|
||||
api
|
||||
contributing
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
112
docs/installation.rst
Normal file
112
docs/installation.rst
Normal file
|
@ -0,0 +1,112 @@
|
|||
Installation
|
||||
############
|
||||
|
||||
First, you need to get the source files. One way to get them is to download
|
||||
them from the github repository, using git::
|
||||
|
||||
git clone https://github.com/spiral-project/ihatemoney.git
|
||||
|
||||
Requirements
|
||||
============
|
||||
|
||||
«Ihatemoney» depends on:
|
||||
|
||||
* **Python**: either 2.7, 3.4, 3.5 will work.
|
||||
* **A Backend**: to choose among MySQL, PostgreSQL, SQLite or Memory.
|
||||
|
||||
We recommend to use `pip <https://pypi.python.org/pypi/pip/>`_ and
|
||||
`virtualenv <https://pypi.python.org/pypi/virtualenv>`_ but it will work
|
||||
without if you prefer.
|
||||
|
||||
If you have everything installed, you can just issue::
|
||||
|
||||
make serve
|
||||
|
||||
Alternatively, you can also use the `requirements.txt` file to install the
|
||||
dependencies yourself (that's what the `make serve` does). That would be::
|
||||
|
||||
pip install -r requirements.txt
|
||||
|
||||
And then run the application::
|
||||
|
||||
cd budget
|
||||
python run.py
|
||||
|
||||
In any case, you can point your browser at `http://localhost:5000 <http://localhost:5000>`_.
|
||||
It's as simple as that!
|
||||
|
||||
In case you want to update to newer versions, you can just run the "update" command::
|
||||
|
||||
make update
|
||||
|
||||
Deploy it
|
||||
=========
|
||||
|
||||
Now, if you want to deploy it on your own server, you have many options.
|
||||
Two of them are documented at the moment.
|
||||
|
||||
*Of course, if you want to contribute another configuration, feel free to open a
|
||||
pull-request against this repository!*.
|
||||
|
||||
With Apache and mod_wsgi
|
||||
------------------------
|
||||
|
||||
1. Install Apache and mod_wsgi - libapache2-mod-wsgi(-py3) for Debian based and mod_wsgi for RedHat based distributions -
|
||||
2. Create an Apache virtual host based on the sample configuration file in `conf/apache-vhost.conf`
|
||||
3. Adapt it to your paths and specify your virtualenv path if you use one
|
||||
4. Activate the virtual host if needed and restart Apache
|
||||
|
||||
With Nginx, Gunicorn and Supervisord
|
||||
------------------------------------
|
||||
|
||||
1. Add the lines in conf/supervisord.conf to your supervisord.conf file.
|
||||
2. Copy and paste the content of conf/nginx.conf in your nginx conf file.
|
||||
3. reload both nginx and supervisord. It should be working ;)
|
||||
|
||||
Don't forget to set the right permission for your files !
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
ihatemoney relies on a configuration file. If you run the application for the
|
||||
first time, you will need to take a few moments to configure the application
|
||||
properly.
|
||||
|
||||
+----------------------------+---------------------------+-----------------------------------------------------------------------------+
|
||||
| Setting name | Default | What does it do? |
|
||||
+============================+===========================+=============================================================================+
|
||||
| SQLALCHEMY_DATABASE_URI | ``sqlite:///budget.db`` | Specifies the type of backend to use and its location. More information |
|
||||
| | | on the format used can be found on `the SQLAlchemy documentation`. |
|
||||
+----------------------------+---------------------------+-----------------------------------------------------------------------------+
|
||||
| SECRET_KEY | ``tralala`` | The secret key used to encrypt the cookies. **This needs to be changed**. |
|
||||
+----------------------------+---------------------------+-----------------------------------------------------------------------------+
|
||||
| MAIL_DEFAULT_SENDER | ``("Budget manager", | A python tuple describing the name and email adress to use when sending |
|
||||
| | "budget@notmyidea.org")`` | emails. |
|
||||
+----------------------------+---------------------------+-----------------------------------------------------------------------------+
|
||||
| ACTIVATE_DEMO_PROJECT | ``True`` | If set to `True`, a demo project will be available on the frontpage. |
|
||||
+----------------------------+---------------------------+-----------------------------------------------------------------------------+
|
||||
| ADMIN_PASSWORD | ``""`` | If not empty, the specified password must be entered to create new projects |
|
||||
+----------------------------+---------------------------+-----------------------------------------------------------------------------+
|
||||
|
||||
.. _`the SQLAlechemy documentation`: http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls
|
||||
|
||||
In a production environment
|
||||
---------------------------
|
||||
|
||||
Make a copy of ``budget/default_settings.py`` and name it ``ihatemoney.cfg``.
|
||||
Then adjust the settings to your needs and move this file to
|
||||
``/etc/ihatemoney/ihatemoney.cfg``.
|
||||
|
||||
This is the default path of the settings but you can also place it
|
||||
elsewhere and pass the configuration file path to the application using
|
||||
the IHATEMONEY_SETTINGS_FILE_PATH environment variable.
|
||||
|
||||
e.g.::
|
||||
|
||||
$ export IHATEMONEY_SETTINGS_FILE_PATH="/path/to/your/conf/file.cfg"
|
||||
|
||||
Note that you can also pass additional flask parameters with this file.
|
||||
e.g. If you want to prefix your URLs to serve ihatemonney in the *folder*
|
||||
of a domain, use the following: ::
|
||||
|
||||
APPLICATION_ROOT='/budget'
|
2
setup.py
2
setup.py
|
@ -43,7 +43,7 @@ ENTRY_POINTS = {
|
|||
setup(name='ihatemoney',
|
||||
version='1.1.dev0',
|
||||
description='A simple shared budget manager web application.',
|
||||
long_description="{}\n\n{}".format(README, CHANGELOG),
|
||||
long_description="{}\n\n{}".format(README.encode('utf-8'), CHANGELOG.encode('utf-8')),
|
||||
license='Custom BSD Beerware',
|
||||
classifiers=[
|
||||
"Programming Language :: Python",
|
||||
|
|
Loading…
Reference in a new issue