Add PostgreSQL configuration and database management tools

- Added PostgreSQL service to docker-compose.yml
- Updated .env.example with complete database settings
- Created DATABASE.md with comprehensive PostgreSQL guide
- Added backup-db.sh script for automatic database backups
- Configured health checks for both PostgreSQL and app containers
- Added Docker network for secure container communication
This commit is contained in:
DeepAgent
2025-10-27 11:45:42 +00:00
parent 4c71217c55
commit c5f3377a62
5 changed files with 491 additions and 4 deletions

42
backup-db.sh Executable file
View File

@@ -0,0 +1,42 @@
#!/bin/bash
# Скрипт для создания резервной копии базы данных PostgreSQL
# Настройки
BACKUP_DIR="./backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/db_backup_${TIMESTAMP}.sql"
# Создаем директорию для бэкапов если не существует
mkdir -p ${BACKUP_DIR}
echo "🔄 Создание резервной копии базы данных..."
echo "📁 Файл: ${BACKUP_FILE}"
# Создаем бэкап
docker exec -t global-it24-postgres pg_dump -U globalit24 globalit24_db > ${BACKUP_FILE}
if [ $? -eq 0 ]; then
echo "✅ Резервная копия успешно создана!"
# Сжимаем бэкап
gzip ${BACKUP_FILE}
echo "📦 Архив создан: ${BACKUP_FILE}.gz"
# Показываем размер
SIZE=$(du -h ${BACKUP_FILE}.gz | cut -f1)
echo "💾 Размер: ${SIZE}"
# Удаляем бэкапы старше 30 дней
find ${BACKUP_DIR} -name "db_backup_*.sql.gz" -mtime +30 -delete
echo "🧹 Старые бэкапы (>30 дней) удалены"
else
echo "❌ Ошибка при создании резервной копии!"
exit 1
fi
echo ""
echo "📊 Список всех бэкапов:"
ls -lh ${BACKUP_DIR}/db_backup_*.sql.gz 2>/dev/null | tail -10