diff --git a/README.rst b/README.rst index 8998b77f..61ec91a9 100644 --- a/README.rst +++ b/README.rst @@ -8,3 +8,25 @@ Budget-manager 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. + +Make it run! +============ + +To make it run, you just have to do something like:: + + $ virtualenv venv + $ source budget/bin/activate + $ pip install flask flask-wtf flask-sqlalchemy + $ cd budget + $ python budget.py + +Deploy it +========= + +To deploy it, I'm using 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 ;) diff --git a/budget.py b/budget/budget.py similarity index 100% rename from budget.py rename to budget/budget.py diff --git a/static/awesome-buttons.css b/budget/static/awesome-buttons.css similarity index 100% rename from static/awesome-buttons.css rename to budget/static/awesome-buttons.css diff --git a/static/awesome.css b/budget/static/awesome.css similarity index 100% rename from static/awesome.css rename to budget/static/awesome.css diff --git a/static/blueprint/ie.css b/budget/static/blueprint/ie.css similarity index 100% rename from static/blueprint/ie.css rename to budget/static/blueprint/ie.css diff --git a/static/blueprint/plugins/buttons/icons/cross.png b/budget/static/blueprint/plugins/buttons/icons/cross.png similarity index 100% rename from static/blueprint/plugins/buttons/icons/cross.png rename to budget/static/blueprint/plugins/buttons/icons/cross.png diff --git a/static/blueprint/plugins/buttons/icons/key.png b/budget/static/blueprint/plugins/buttons/icons/key.png similarity index 100% rename from static/blueprint/plugins/buttons/icons/key.png rename to budget/static/blueprint/plugins/buttons/icons/key.png diff --git a/static/blueprint/plugins/buttons/icons/tick.png b/budget/static/blueprint/plugins/buttons/icons/tick.png similarity index 100% rename from static/blueprint/plugins/buttons/icons/tick.png rename to budget/static/blueprint/plugins/buttons/icons/tick.png diff --git a/static/blueprint/plugins/buttons/readme.txt b/budget/static/blueprint/plugins/buttons/readme.txt similarity index 100% rename from static/blueprint/plugins/buttons/readme.txt rename to budget/static/blueprint/plugins/buttons/readme.txt diff --git a/static/blueprint/plugins/buttons/screen.css b/budget/static/blueprint/plugins/buttons/screen.css similarity index 100% rename from static/blueprint/plugins/buttons/screen.css rename to budget/static/blueprint/plugins/buttons/screen.css diff --git a/static/blueprint/plugins/fancy-type/readme.txt b/budget/static/blueprint/plugins/fancy-type/readme.txt similarity index 100% rename from static/blueprint/plugins/fancy-type/readme.txt rename to budget/static/blueprint/plugins/fancy-type/readme.txt diff --git a/static/blueprint/plugins/fancy-type/screen.css b/budget/static/blueprint/plugins/fancy-type/screen.css similarity index 100% rename from static/blueprint/plugins/fancy-type/screen.css rename to budget/static/blueprint/plugins/fancy-type/screen.css diff --git a/static/blueprint/plugins/link-icons/icons/doc.png b/budget/static/blueprint/plugins/link-icons/icons/doc.png similarity index 100% rename from static/blueprint/plugins/link-icons/icons/doc.png rename to budget/static/blueprint/plugins/link-icons/icons/doc.png diff --git a/static/blueprint/plugins/link-icons/icons/email.png b/budget/static/blueprint/plugins/link-icons/icons/email.png similarity index 100% rename from static/blueprint/plugins/link-icons/icons/email.png rename to budget/static/blueprint/plugins/link-icons/icons/email.png diff --git a/static/blueprint/plugins/link-icons/icons/external.png b/budget/static/blueprint/plugins/link-icons/icons/external.png similarity index 100% rename from static/blueprint/plugins/link-icons/icons/external.png rename to budget/static/blueprint/plugins/link-icons/icons/external.png diff --git a/static/blueprint/plugins/link-icons/icons/feed.png b/budget/static/blueprint/plugins/link-icons/icons/feed.png similarity index 100% rename from static/blueprint/plugins/link-icons/icons/feed.png rename to budget/static/blueprint/plugins/link-icons/icons/feed.png diff --git a/static/blueprint/plugins/link-icons/icons/im.png b/budget/static/blueprint/plugins/link-icons/icons/im.png similarity index 100% rename from static/blueprint/plugins/link-icons/icons/im.png rename to budget/static/blueprint/plugins/link-icons/icons/im.png diff --git a/static/blueprint/plugins/link-icons/icons/pdf.png b/budget/static/blueprint/plugins/link-icons/icons/pdf.png similarity index 100% rename from static/blueprint/plugins/link-icons/icons/pdf.png rename to budget/static/blueprint/plugins/link-icons/icons/pdf.png diff --git a/static/blueprint/plugins/link-icons/icons/visited.png b/budget/static/blueprint/plugins/link-icons/icons/visited.png similarity index 100% rename from static/blueprint/plugins/link-icons/icons/visited.png rename to budget/static/blueprint/plugins/link-icons/icons/visited.png diff --git a/static/blueprint/plugins/link-icons/icons/xls.png b/budget/static/blueprint/plugins/link-icons/icons/xls.png similarity index 100% rename from static/blueprint/plugins/link-icons/icons/xls.png rename to budget/static/blueprint/plugins/link-icons/icons/xls.png diff --git a/static/blueprint/plugins/link-icons/readme.txt b/budget/static/blueprint/plugins/link-icons/readme.txt similarity index 100% rename from static/blueprint/plugins/link-icons/readme.txt rename to budget/static/blueprint/plugins/link-icons/readme.txt diff --git a/static/blueprint/plugins/link-icons/screen.css b/budget/static/blueprint/plugins/link-icons/screen.css similarity index 100% rename from static/blueprint/plugins/link-icons/screen.css rename to budget/static/blueprint/plugins/link-icons/screen.css diff --git a/static/blueprint/plugins/rtl/readme.txt b/budget/static/blueprint/plugins/rtl/readme.txt similarity index 100% rename from static/blueprint/plugins/rtl/readme.txt rename to budget/static/blueprint/plugins/rtl/readme.txt diff --git a/static/blueprint/plugins/rtl/screen.css b/budget/static/blueprint/plugins/rtl/screen.css similarity index 100% rename from static/blueprint/plugins/rtl/screen.css rename to budget/static/blueprint/plugins/rtl/screen.css diff --git a/static/blueprint/print.css b/budget/static/blueprint/print.css similarity index 100% rename from static/blueprint/print.css rename to budget/static/blueprint/print.css diff --git a/static/blueprint/screen.css b/budget/static/blueprint/screen.css similarity index 100% rename from static/blueprint/screen.css rename to budget/static/blueprint/screen.css diff --git a/static/blueprint/src/forms.css b/budget/static/blueprint/src/forms.css similarity index 100% rename from static/blueprint/src/forms.css rename to budget/static/blueprint/src/forms.css diff --git a/static/blueprint/src/grid.css b/budget/static/blueprint/src/grid.css similarity index 100% rename from static/blueprint/src/grid.css rename to budget/static/blueprint/src/grid.css diff --git a/static/blueprint/src/grid.png b/budget/static/blueprint/src/grid.png similarity index 100% rename from static/blueprint/src/grid.png rename to budget/static/blueprint/src/grid.png diff --git a/static/blueprint/src/ie.css b/budget/static/blueprint/src/ie.css similarity index 100% rename from static/blueprint/src/ie.css rename to budget/static/blueprint/src/ie.css diff --git a/static/blueprint/src/print.css b/budget/static/blueprint/src/print.css similarity index 100% rename from static/blueprint/src/print.css rename to budget/static/blueprint/src/print.css diff --git a/static/blueprint/src/reset.css b/budget/static/blueprint/src/reset.css similarity index 100% rename from static/blueprint/src/reset.css rename to budget/static/blueprint/src/reset.css diff --git a/static/blueprint/src/typography.css b/budget/static/blueprint/src/typography.css similarity index 100% rename from static/blueprint/src/typography.css rename to budget/static/blueprint/src/typography.css diff --git a/static/main.css b/budget/static/main.css similarity index 100% rename from static/main.css rename to budget/static/main.css diff --git a/templates/add_bill.html b/budget/templates/add_bill.html similarity index 100% rename from templates/add_bill.html rename to budget/templates/add_bill.html diff --git a/templates/compute_bills.html b/budget/templates/compute_bills.html similarity index 100% rename from templates/compute_bills.html rename to budget/templates/compute_bills.html diff --git a/templates/layout. b/budget/templates/layout. similarity index 100% rename from templates/layout. rename to budget/templates/layout. diff --git a/templates/layout.html b/budget/templates/layout.html similarity index 100% rename from templates/layout.html rename to budget/templates/layout.html diff --git a/templates/layout.txt b/budget/templates/layout.txt similarity index 100% rename from templates/layout.txt rename to budget/templates/layout.txt diff --git a/templates/list_bills.html b/budget/templates/list_bills.html similarity index 100% rename from templates/list_bills.html rename to budget/templates/list_bills.html diff --git a/conf/gunicorn.conf.py b/conf/gunicorn.conf.py new file mode 100644 index 00000000..3bd1834b --- /dev/null +++ b/conf/gunicorn.conf.py @@ -0,0 +1,7 @@ +backlog = 2048 +daemon = False +debug = True +workers = 3 +logfile = "/usr/local/www/notmyidea.org/fractals/fractals.gunicorn.log" +loglevel = "info" +bind = "unix:/usr/local/www/notmyidea.org/fractals/fractals.gunicorn.sock" diff --git a/conf/nginx.conf b/conf/nginx.conf new file mode 100644 index 00000000..783d3bee --- /dev/null +++ b/conf/nginx.conf @@ -0,0 +1,28 @@ +server { + server_name yourur; + keepalive_timeout 5; + + location /static/ { + alias /path/to/app/budget/static/; + } + location / { + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_connect_timeout 90; + proxy_send_timeout 180; + proxy_read_timeout 180; + proxy_buffer_size 16k; + proxy_buffers 8 16k; + proxy_busy_buffers_size 32k; + proxy_intercept_errors on; + if (!-f $request_filename) { + proxy_pass http://fractals_backend; + break; + } + } +} + +upstream fractals_backend { + server unix:/path/to/app/budget.gunicorn.sock; +} diff --git a/conf/supervisord.conf b/conf/supervisord.conf new file mode 100644 index 00000000..5b5ec9f6 --- /dev/null +++ b/conf/supervisord.conf @@ -0,0 +1,7 @@ +[program:fractals] +command=/usr/local/www/notmyidea.org/fractals/venv/bin/gunicorn -c /usr/local/www/notmyidea.org/fractals/gunicorn.conf.py budget:app +directory=/usr/local/www/notmyidea.org/fractals/budget/ +user=www +autostart=true +autorestart=true +redirect_stderr=True