Docker Compose nginx Let's Encrypt GitHub Actions Ubuntu 22.04

Production-деплой и CI/CD
для fieldlog.ru

Полный production-стек для Django-приложения: три Docker-контейнера, nginx с HTTPS, автоматическое обновление сертификатов и GitHub Actions пайплайн с тестами, бэкапом БД и zero-downtime деплоем по SSH.

Сервер Ubuntu 22.04 LTS, VPS
Стек Docker, nginx, Certbot, GitHub Actions
Домен fieldlog.ru (HTTPS)

Инфраструктура

Приложение запущено в трёх Docker-контейнерах через Compose: web (Django + Gunicorn), db (PostgreSQL 16) и nginx (reverse proxy + SSL). Nginx терминирует HTTPS и отдаёт статику напрямую, не нагружая Django. Медиафайлы защищены от прямого доступа — выдаются только через X-Accel-Redirect после проверки авторизации в Django.

HTTPS и сертификаты

CI/CD пайплайн — GitHub Actions

Два job-а: test и deploy. Деплой запускается только если тесты прошли, и только при пуше в main (не на PR — чтобы не деплоить незамерженный код).

Job: test

Job: deploy

Скриншоты

GitHub Actions пайплайн

GitHub Actions — успешный прогон test → deploy

Заказать похожее Само приложение → ← Все работы