2. Modify/verify your settings again: ``nano /opt/otree/otree-ansible/group_vars/otree_servers.yml``.
2. Modify/verify your settings again: ``nano /opt/otree/otree-ansible/group_vars/otree_servers.yml``.
3. Run: ``sudo ansible-playbook site.yml`` (with optionally ``-vvv`` to get more information on errors)
3. Run: ``sudo ansible-playbook site.yml`` (with optionally ``-vvv`` to get more information on errors)
> :zap: **Warning:** Set ``override: no`` if the otree_instance is finally deployed and will not change anymore. Remove it only, when you want to **change/delete** settings and deploy it again (Note: This will delete all the data, **always do a backup if you are unsure!**).
> :zap: **Warning:** Set ``override: no`` if the otree_instance is finally deployed and will not change anymore. Remove it only, when you want to **change/delete** the project and deploy it again (Note: This will delete all the data, **always do a backup if you are unsure!**).
## recommendations
## recommendations for otree-code
* Set a fixed otree-version in ``requirements_base.txt`` and include there all packages defined in variable ``INSTALLED_APPS `` in ``settings.py``.
* Set a fixed otree-version in ``requirements_base.txt`` and include there all packages defined in variable ``INSTALLED_APPS `` in ``settings.py``.
* Always set ``SECRET_KEY = environ.get('OTREE_SECRET_KEY')`` in ``settings.py``.
* Always set ``SECRET_KEY = environ.get('OTREE_SECRET_KEY')`` in ``settings.py``.
* Always set ``ADMIN_PASSWORD = environ.get('OTREE_ADMIN_PASSWORD')``
* Always set ``ADMIN_PASSWORD = environ.get('OTREE_ADMIN_PASSWORD')``