You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

2.5 KiB

Проект блога на Django

Как это работает

Демка доступна по адресу: django.foxyparadoxy.xyz

Все запущенно на debian сервере. За проксирование отвечает Nginx (за ssl серты - certbot).

Postgres база поднята как docker-контейнер. За это отвечает systemd сервис.

[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

Сам же django запускается через gunicorn. Обертка прописана в bash скрипт.

  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

За работой gunicorn следит еще один systemd сервис:

  [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

Оба systemd сервиса добавлены в автозагрузку.

Фичи

Комментарии с псевдорегистрацией

При комменте можно ввести "секрет" - строку, хэш которой сохранится в базе. После этого ник комментатора будет выделен зеленым цветом - он становится подтвержденным. Таким образом пользователи сохраняющие (от комментария к комментарию) пару "ник:секрет" могут считаться подтвержденными.

Таким образом сайт можно размещать, например, в i2p сети, не нарушая анонимности комментаторов требованием регистрации.