🚀 Web Application with Docker, PostgreSQL & Flask
Простое веб-приложение с авторизацией, которое можно использовать как основу для собственного проекта.
🌟 Особенности проекта
- Docker-ориентированный (сборка через compose)
- Безопасность: секреты через ".env", healthcheck для БД
- Автоматический деплой через Git hooks
- Логирование операций деплоя
🛠 Технологический стек
- Frontend: Nginx со статическим html
- Backend: Python Flask
- DataBase: PostgreSQL
- Infrastructure: Docker, Docker Compose
- CI/CD: Git hooks
🔧 Архитектура проекта
Copy
container-web-app/
│
├── backend/
│ ├── requirements.txt
│ └── server.py
│
├── db/
│ └── init.sql
│
├── frontend/
│ ├── static/
│ └── index.html
│
├── nginx/
│ ├── ssl/
│ │ ├── domain.crt
│ │ ├── domain.conf
│ │ └── domain.key
│ └── nginx.conf
│
├── scripts/
│ └── post-receive
│
├── .env
├── docker-compose.yaml
└── README.md
🔒 Безопасность
Все секреты хранятся в .env (в git не коммитятся)
Healthcheck для мониторинга состояния PostgreSQL
CI/CD:
Автоматический деплой через Git hooks
Скрипт деплоя с логированием (/var/log/deploy.log)
Infrastructure as Code:
Полная воспроизводимость через Docker
Версионирование образов
📈 Дальнейшее развитие
-
Добавить тесты (pytest)
-
Настроить GitHub Actions для CI
-
Реализовать балансировку нагрузки
-
Добавить мониторинг (Prometheus + Grafana)