aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst165
-rw-r--r--documentation/deployment.rst149
2 files changed, 154 insertions, 160 deletions
diff --git a/README.rst b/README.rst
index 831297e5..634f0bfd 100644
--- a/README.rst
+++ b/README.rst
@@ -23,169 +23,20 @@ Features
* share articles with Google +, Pinboard and reddit;
* HTTP proxy support.
-
-Usage
-=====
-
Python 3.4 is recommended.
-Deployment
-----------
-
-This application can be deployed on Heroku or on a traditional server.
-
-After installation, you will be able to connect with the email *root@pyAggr3g470r.localhost* and the password *password*.
-
-Deploying the application with Vagrant
-''''''''''''''''''''''''''''''''''''''
-
-Installation of VirtualBox and Vagrant
-
-.. code:: bash
-
- $ sudo apt-get install virtualbox
- $ wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.5_x86_64.deb
- $ sudo dpkg -i vagrant_1.6.5_x86_64.deb
-
-Deployment of pyAggr3g470r
-
-.. code:: bash
-
- $ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
- $ cd pyaggr3g470r/vagrant/
- $ vagrant up
-
-Once the VM configured, go to the address http://127.0.0.1:5000.
-
-Deploying the application on Heroku
-'''''''''''''''''''''''''''''''''''
-
-An instance of pyAggr3g470r is running `here <https://pyaggr3g470r.herokuapp.com>`_.
-
-The geek way
-~~~~~~~~~~~~
-
-.. code:: bash
-
- $ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
- $ cd pyaggr3g470r
- $ heroku create
- $ heroku addons:add heroku-postgresql:dev
- $ heroku config:set HEROKU=1
- $ git push heroku master
- $ heroku run init
- $ heroku ps:scale web=1
-
-To enable account creation for users, you have to set some environment variables:
-
-.. code:: bash
-
- $ heroku config:set SELF_REGISTRATION=1
- $ heroku config:set PLATFORM_URL=<URL-of-your-platform>
- $ heroku config:set RECAPTCHA_PUBLIC_KEY=<your-recaptcha-public-key>
- $ heroku config:set RECAPTCHA_PRIVATE_KEY=<your-recaptcha-private-key>
- $ heroku config:set NOTIFICATION_EMAIL=<notification-email>
- $ heroku config:set POSTMARK_API_KEY=<your-postmark-api-key>
- $ heroku addons:add postmark:10k
-
-`Postmark <https://postmarkapp.com/>`_ is used to send account confirmation links.
-
-If you don't want to open your platform just set *SELF_REGISTRATION* to 0.
-You will be still able to create accounts via the administration page.
-
-
-The simple way
-~~~~~~~~~~~~~~
-
-Alternatively, you can deploy your own copy of the app using this button:
-
-.. image:: https://www.herokucdn.com/deploy/button.png
- :target: https://heroku.com/deploy?template=https://github.com/cedricbonhomme/pyAggr3g470r
-
-You will be prompted to choose an email and a password for the administrator's account.
-And some other optional environment variables, as previously presented.
-
-Deploying the application on a traditional server
-'''''''''''''''''''''''''''''''''''''''''''''''''
-
-.. code:: bash
-
- $ sudo apt-get install python libpq-dev python-dev python-pip build-essential git
- $ sudo apt-get install libxml2-dev libxslt1-dev # for lxml
- $ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
- $ cd pyaggr3g470r
- $ sudo pip install --upgrade -r requirements.txt
- $ cp conf/conf.cfg-sample conf/conf.cfg
-
-If you want to use PostgreSQL
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. code:: bash
-
- $ sudo apt-get install postgresql postgresql-server-dev-9.3 postgresql-client
- $ echo "127.0.0.1:5432:aggregator:pgsqluser:pgsqlpwd" > ~/.pgpass
- $ chmod 700 ~/.pgpass
- $ sudo -u postgres createuser pgsqluser --no-superuser --createdb --no-createrole
- $ createdb aggregator --no-password
- $ echo "ALTER USER pgsqluser WITH ENCRYPTED PASSWORD 'pgsqlpwd';" | sudo -u postgres psql
- $ echo "GRANT ALL PRIVILEGES ON DATABASE aggregator TO pgsqluser;" | sudo -u postgres psql
-
-Edit the configuration file with the line:
-
-.. code:: cfg
-
- [database]
- uri = postgres://pgsqluser:pgsqlpwd@127.0.0.1:5433/aggregator
-
-If you want to use SQLite
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Just edit the configuration file with the line:
-
-.. code:: cfg
-
- [database]
- uri = sqlite+pysqlite:///pyAggr3g470r.db
-
-
-Finally:
-
-.. code:: bash
-
- $ python db_create.py
- $ python runserver.py
- * Running on http://0.0.0.0:5000/
- * Restarting with reloader
-
-
-Configuration
--------------
-
-Configuration (database url, email, proxy, user agent, etc.) is done via the file *conf/conf.cfg*.
-Check these configuration before executing *db_create.py*.
-If you want to use pyAggr3g470r with Tor/Privoxy, you just have to set the value of
-*http_proxy* (most of the time: *http_proxy = 127.0.0.1:8118**). Else leave the value blank.
-
-
-Automatic updates
------------------
-
-You can fetch new articles with `cron <https://en.wikipedia.org/wiki/Cron>`_ and the script *fetch.py*.
-For example if you want to check for updates every 30 minutes, add this line to your cron rules (*crontab -e*):
-
-.. code:: bash
-
- */30 * * * * cd ~/.pyaggr3g470r/ ; python fetch.py firstname.lastname@mail.com
-
-You must give the email address you use to login to pyAggr3g470r.
-
Documentation
=============
+* `deployment and configuration <documentation/deployment.rst>`_;
* `web services <documentation/web-services.rst>`_;
* `migrations <documentation/migrations.rst>`_
+Internationalization
+====================
+
+pyAggr3g470r is translated into English and French.
Donation
========
@@ -195,12 +46,6 @@ If you wish and if you like *pyAggr3g470r*, you can donate via bitcoin
Thank you!
-Internationalization
-====================
-
-pyAggr3g470r is translated into English and French.
-
-
License
=======
diff --git a/documentation/deployment.rst b/documentation/deployment.rst
new file mode 100644
index 00000000..95f3bc23
--- /dev/null
+++ b/documentation/deployment.rst
@@ -0,0 +1,149 @@
+Deployment
+==========
+
+This application can be deployed on Heroku or on a traditional server.
+
+After installation, you will be able to connect with the email *root@pyAggr3g470r.localhost* and the password *password*.
+
+Deploying the application with Vagrant
+--------------------------------------
+
+Installation of VirtualBox and Vagrant
+
+.. code:: bash
+
+ $ sudo apt-get install virtualbox
+ $ wget https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.5_x86_64.deb
+ $ sudo dpkg -i vagrant_1.6.5_x86_64.deb
+
+Deployment of pyAggr3g470r
+
+.. code:: bash
+
+ $ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
+ $ cd pyaggr3g470r/vagrant/
+ $ vagrant up
+
+Once the VM configured, go to the address http://127.0.0.1:5000.
+
+Deploying the application on Heroku
+-----------------------------------
+
+An instance of pyAggr3g470r is running `here <https://pyaggr3g470r.herokuapp.com>`_.
+
+The geek way
+''''''''''''
+
+.. code:: bash
+
+ $ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
+ $ cd pyaggr3g470r
+ $ heroku create
+ $ heroku addons:add heroku-postgresql:dev
+ $ heroku config:set HEROKU=1
+ $ git push heroku master
+ $ heroku run init
+ $ heroku ps:scale web=1
+
+To enable account creation for users, you have to set some environment variables:
+
+.. code:: bash
+
+ $ heroku config:set SELF_REGISTRATION=1
+ $ heroku config:set PLATFORM_URL=<URL-of-your-platform>
+ $ heroku config:set RECAPTCHA_PUBLIC_KEY=<your-recaptcha-public-key>
+ $ heroku config:set RECAPTCHA_PRIVATE_KEY=<your-recaptcha-private-key>
+ $ heroku config:set NOTIFICATION_EMAIL=<notification-email>
+ $ heroku config:set POSTMARK_API_KEY=<your-postmark-api-key>
+ $ heroku addons:add postmark:10k
+
+`Postmark <https://postmarkapp.com/>`_ is used to send account confirmation links.
+
+If you don't want to open your platform just set *SELF_REGISTRATION* to 0.
+You will be still able to create accounts via the administration page.
+
+
+The simple way
+''''''''''''''
+
+Alternatively, you can deploy your own copy of the app using this button:
+
+.. image:: https://www.herokucdn.com/deploy/button.png
+ :target: https://heroku.com/deploy?template=https://github.com/cedricbonhomme/pyAggr3g470r
+
+You will be prompted to choose an email and a password for the administrator's account.
+And some other optional environment variables, as previously presented.
+
+Deploying the application on a traditional server
+-------------------------------------------------
+
+.. code:: bash
+
+ $ sudo apt-get install python libpq-dev python-dev python-pip build-essential git
+ $ sudo apt-get install libxml2-dev libxslt1-dev # for lxml
+ $ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git
+ $ cd pyaggr3g470r
+ $ sudo pip install --upgrade -r requirements.txt
+ $ cp conf/conf.cfg-sample conf/conf.cfg
+
+If you want to use PostgreSQL
+'''''''''''''''''''''''''''''
+
+.. code:: bash
+
+ $ sudo apt-get install postgresql postgresql-server-dev-9.3 postgresql-client
+ $ echo "127.0.0.1:5432:aggregator:pgsqluser:pgsqlpwd" > ~/.pgpass
+ $ chmod 700 ~/.pgpass
+ $ sudo -u postgres createuser pgsqluser --no-superuser --createdb --no-createrole
+ $ createdb aggregator --no-password
+ $ echo "ALTER USER pgsqluser WITH ENCRYPTED PASSWORD 'pgsqlpwd';" | sudo -u postgres psql
+ $ echo "GRANT ALL PRIVILEGES ON DATABASE aggregator TO pgsqluser;" | sudo -u postgres psql
+
+Edit the configuration file with the line:
+
+.. code:: cfg
+
+ [database]
+ uri = postgres://pgsqluser:pgsqlpwd@127.0.0.1:5433/aggregator
+
+If you want to use SQLite
+'''''''''''''''''''''''''
+
+Just edit the configuration file with the line:
+
+.. code:: cfg
+
+ [database]
+ uri = sqlite+pysqlite:///pyAggr3g470r.db
+
+
+Finally:
+
+.. code:: bash
+
+ $ python db_create.py
+ $ python runserver.py
+ * Running on http://0.0.0.0:5000/
+ * Restarting with reloader
+
+
+Configuration
+=============
+
+Configuration (database url, email, proxy, user agent, etc.) is done via the file *conf/conf.cfg*.
+Check these configuration before executing *db_create.py*.
+If you want to use pyAggr3g470r with Tor/Privoxy, you just have to set the value of
+*http_proxy* (most of the time: *http_proxy = 127.0.0.1:8118**). Else leave the value blank.
+
+
+Automatic updates
+=================
+
+You can fetch new articles with `cron <https://en.wikipedia.org/wiki/Cron>`_ and the script *fetch.py*.
+For example if you want to check for updates every 30 minutes, add this line to your cron rules (*crontab -e*):
+
+.. code:: bash
+
+ */30 * * * * cd ~/.pyaggr3g470r/ ; python fetch.py firstname.lastname@mail.com
+
+You must give the email address you use to login to pyAggr3g470r.
bgstack15