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 сети, не нарушая анонимности комментаторов требованием регистрации.