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-block:: 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-block:: 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 `_. The geek way '''''''''''' .. code-block:: 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-block:: bash $ heroku config:set SELF_REGISTRATION=1 $ heroku config:set PLATFORM_URL= $ heroku config:set RECAPTCHA_PUBLIC_KEY= $ heroku config:set RECAPTCHA_PRIVATE_KEY= $ heroku config:set NOTIFICATION_EMAIL= $ heroku config:set POSTMARK_API_KEY= $ heroku addons:add postmark:10k `Postmark `_ 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-block:: bash $ git clone https://bitbucket.org/cedricbonhomme/pyaggr3g470r.git $ cd pyaggr3g470r/ If you want to use PostgreSQL ''''''''''''''''''''''''''''' .. code-block:: bash $ ./install.sh postgres If you want to use SQLite ''''''''''''''''''''''''' .. code-block:: bash $ ./install.sh sqlite Finally: .. code-block:: bash $ 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 this file before initializing the database (with `manager.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 `_. For example if you want to check for updates every 30 minutes, add this line to your cron rules (*crontab -e*): .. code-block:: bash */30 * * * * cd ~/.pyaggr3g470r/ ; python manager.py fetch_asyncio None None