🔧 Добавлен скрипт исправления продакшена
Some checks failed
continuous-integration/drone/push Build is failing

 Новый функционал:
- scripts/fix-production-env.sh - автоматическое исправление .env для продакшена
- make fix-production - команда для быстрого исправления

🎯 Что исправляет:
- DJANGO_DEBUG=False (вместо True)
- NEXT_PUBLIC_API_URL=http://links.shareon.kr (вместо localhost)
- Правильные настройки для продакшена
- Пересоздание БД с правильным паролем
- Выполнение миграций
- Создание суперпользователя

📝 Документация:
- PRODUCTION_FIX.md - инструкция по исправлению проблем

🚨 Решает проблему:
- password authentication failed for user links_user
- undefined в API URL фронтенда
- Неправильные настройки DEBUG режима
This commit is contained in:
2025-11-02 15:09:10 +09:00
parent 5376d5139e
commit 9b31fcf193
4 changed files with 196 additions and 1 deletions

77
scripts/fix-production-env.sh Executable file
View File

@@ -0,0 +1,77 @@
#!/bin/bash
# scripts/fix-production-env.sh - Исправление .env для продакшена
echo "🔧 Исправление .env файла для продакшена"
echo "========================================"
# Создание правильного .env файла
cat > .env << 'EOF'
# Django настройки
DJANGO_SECRET_KEY=lskjflSDJHFdSFYU7TYOREIFLUDJKFBNKLJSDHFP9Q234856QT80OUAEIYDWSF9PQ28345701784QRTEOYAGWDFLSBAPWO9I485Y
DJANGO_DEBUG=False
DJANGO_ALLOWED_HOSTS=links.shareon.kr,sharon.kr,localhost,127.0.0.1
# База данных PostgreSQL
DATABASE_ENGINE=django.db.backends.postgresql
DATABASE_NAME=links_db
DATABASE_USER=links_user
DATABASE_PASSWORD=links_OASDUIFH90324*ftye(guBJ;O234789SDgfu{
DATABASE_HOST=db
DATABASE_PORT=5432
# PostgreSQL настройки для контейнера
POSTGRES_DB=links_db
POSTGRES_USER=links_user
POSTGRES_PASSWORD=links_OASDUIFH90324*ftye(guBJ;O234789SDgfu{
# Frontend настройки (ВАЖНО для продакшена!)
NEXT_PUBLIC_API_URL=http://links.shareon.kr
# Для продакшена
DJANGO_SECURE_SSL_REDIRECT=False
DJANGO_SECURE_HSTS_SECONDS=31536000
DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS=True
DJANGO_SECURE_HSTS_PRELOAD=True
# Опциональные настройки
# DJANGO_EMAIL_BACKEND=django.core.mail.backends.console.EmailBackend
# DJANGO_EMAIL_HOST=
# DJANGO_EMAIL_PORT=587
# DJANGO_EMAIL_HOST_USER=
# DJANGO_EMAIL_HOST_PASSWORD=
# DJANGO_EMAIL_USE_TLS=True
EOF
echo "✅ .env файл обновлен для продакшена"
echo ""
echo "🔄 Перезапуск контейнеров..."
# Остановка контейнеров
make down
# Удаление старого volume с БД (если пароль изменился)
echo "🗄️ Очистка старых данных БД..."
docker volume rm links_postgres_data 2>/dev/null || true
# Пересборка и запуск
echo "🏗️ Пересборка контейнеров..."
make build-prod
echo "🚀 Запуск контейнеров..."
make up-prod
echo "⏳ Ожидание запуска БД..."
sleep 15
echo "🗄️ Выполнение миграций..."
make migrate
echo "👤 Создание суперпользователя..."
echo "Создайте суперпользователя для входа в админку:"
make superuser
echo ""
echo "✅ Готово! Проверьте работу:"
echo "• Сайт: http://links.shareon.kr"
echo "• API: http://links.shareon.kr/api/"
echo "• Админка: http://links.shareon.kr/admin/"