From 9ed075c405d572e0acd62e7e40d06cb86d4470b1 Mon Sep 17 00:00:00 2001 From: LongHairedHacker Date: Wed, 24 May 2017 00:49:58 +0200 Subject: [PATCH] Added plan for deployment --- deploy.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 deploy.md diff --git a/deploy.md b/deploy.md new file mode 100644 index 0000000..ab46a81 --- /dev/null +++ b/deploy.md @@ -0,0 +1,36 @@ +Almost secret deployment battle plan +==================================== + +1. Install dependencies: ```aptitude install python3 virtualenv python3-virtualenv libjpeg-dev zlib1g-dev libtiff-dev libtiff-dev libwebp-dev libopenjpeg-dev python3-dev``` +1. Create linux user for running the romstore ```adduser --disabled-login romstore``` +2. Create database + database user + - postgres + ``` + su postgres + createuser -D -P -S romstore + createdb -O romstore romstore + ``` +3. ```git clone https://github.com/LongHairedHacker/gulasch-r0mstore/``` +4. ```virtualenv -p python3 virtenv; source virtenv/bin/activate``` +5. ```pip install -r requirements.txt``` +6. Generate new secret key and set it in gulashromstore/settings.py: ```pwgen -sy 64 5``` +8. Setup database in gulashromstore/settings.py + - Mysql: + - ```pip install mysqlclient``` + - Follow: https://docs.djangoproject.com/en/1.11/ref/databases/#connecting-to-the-database + - Postgres: + - ```pip install psycopg2``` + - Refer to example configuration https://docs.djangoproject.com/en/1.11/ref/settings/#databases +9. Setup mail configuration https://docs.djangoproject.com/en/1.11/ref/settings/#email +10. ```manage.py migrate``` +11. ```manage.py createsuperuser``` +12. ```manage.py collect static``` +13. Set up a uswgi configuration (use systemd/uwsgi.ini) + - update paths + - update user/group ids +15. Setup systemd service and socket files +14. Setup nginx, see https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html#configure-nginx-for-your-site + - set paths for media, static and the socket +15. Testrun without ssl +15. Setup ssl +16. Change DEBUG to False in gulashromstore/settings.py