From c18c8e64bad36936066d945b4b5c01649695035a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Tue, 24 May 2022 17:45:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8E=20=D0=BE=D0=B1=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.org | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 readme.org diff --git a/readme.org b/readme.org new file mode 100644 index 0000000..a6e1402 --- /dev/null +++ b/readme.org @@ -0,0 +1,56 @@ +#+title: Проект блога на Django + +* Как это работает +Демка доступна по адресу: [[django.foxyparadoxy.xyz]] + +Все запущенно на debian сервере. За проксирование отвечает Nginx (за ssl серты - certbot). + +Postgres база поднята как docker-контейнер. За это отвечает systemd сервис. +#+name /etc/systemd/system/docker.postgres.service +#+begin_src shell +[Unit] +Description=Service for running Postgres docker container for django +After=docker.service + +[Service] +ExecStart=/usr/bin/docker run -it --rm --mount \ + source=postgres-data,target=/var/lib/postgresql/data \ + --name postgres-dj \ + -p 5432:5432 \ + -e POSTGRES_PASSWORD=5207503265 \ + -d postgres +Restart=always + +[Install] +WantedBy=multi-user.target +#+end_src + +Сам же django запускается через gunicorn. Обертка прописана в bash скрипт. +#+name bin/start_gunicorn.sh +#+begin_src shell + export PGSERVICEFILE="/home/www/django/pg_service.conf" + . /home/www/django/venv/bin/activate + exec gunicorn -c "/home/www/django/blog/gunicorn_config.py" blog.wsgi +#+end_src + +За работой gunicorn следит еще один systemd сервис: +#+name /etc/systemd/system/gunicorn.django.service +#+begin_src shell + [Unit] + Description=Service for running django site with gunicorn. Depends of Postgres service. + After=docker.service + Wants=docker.postgres.service + + [Service] + ExecStart=/home/www/django/bin/start_gunicorn.sh + Restart=always + + [Install] + WantedBy=multi-user.target +#+end_src + +Оба systemd сервиса добавлены в автозагрузку. + +* Фичи +** Комментарии с псевдорегистрацией +При комменте можно ввести "секрет" - строку, хэш которой сохранится в базе. После этого ник комментатора будет выделен зеленым цветом - он становится подтвержденным. Таким образом пользователи сохраняющие (от комментария к комментарию) пару "ник:секрет" могут считаться подтвержденными.