- Change login page to use /api/auth/login/ instead of absolute URL
- Change register page to use /api/auth/register/ instead of absolute URL
- This fixes the 404 error with /auth/undefined/api/auth/login/ path
- Now uses Next.js rewrites from next.config.js correctly
- Add backend/utils.py for URL management
- Update serializers to use normalize_file_url()
- Update views to use URL utils from env vars
- Fix frontend components to use NEXT_PUBLIC_API_URL
- Add new env vars: DJANGO_BACKEND_URL, DJANGO_MEDIA_BASE_URL
- Replace all hardcoded localhost:8000 with configurable URLs
✅ Исправления:
- Удален дублированный Python код из master-deploy.sh (строка 491)
- Исправлена логика завершения pre-deploy-check.sh
- Предупреждения больше не вызывают ошибку выхода
⚡ Новые возможности:
- Добавлен quick-deploy.sh для быстрого развертывания
- Команда make quick-deploy для систем с ограниченными ресурсами
- Команда make deploy-force для пропуска проверок
- Команда make pre-deploy-check-force для игнорирования предупреждений
📋 Улучшения:
- pre-deploy-check теперь корректно обрабатывает предупреждения о RAM
- Добавлена поддержка флага --skip-checks в master-deploy.sh
- Более понятные сообщения об ошибках и предупреждениях
Теперь система готова к развертыванию даже на серверах с 1GB RAM.
✅ Fixes:
- Добавлена поддержка Docker Compose v2 (docker compose)
- Автоматическое определение версии Docker Compose в Makefile
- Обновлены скрипты master-deploy.sh и pre-deploy-check.sh
- Добавлена утилита detect-docker-compose.sh
- Исправлены команды в функции setup_database
🔧 Изменения:
- Makefile: улучшенное определение команды Docker Compose
- master-deploy.sh: использует make команды вместо прямых вызовов
- pre-deploy-check.sh: проверка обеих версий Docker Compose
- Добавлена команда shell-exec в Makefile
Теперь скрипт корректно работает с Docker Compose v2 на современных системах.
✨ Новые возможности:
- Мастер-развертывание с автоматической настройкой всех компонентов
- Генерация безопасных .env файлов с криптографически стойкими ключами
- Полная изоляция и защита PostgreSQL
- Автоматическая настройка Let's Encrypt SSL
- Система backup и мониторинга
- Comprehensive security audit для БД
🔧 Новые команды:
- make deploy - мастер-развертывание
- make pre-deploy-check - проверка готовности системы
- make security-audit - аудит безопасности PostgreSQL
- make ssl-setup - интерактивная настройка SSL
- make update-production-security - безопасное обновление в продакшене
📁 Новые файлы:
- scripts/master-deploy.sh - основной скрипт развертывания
- scripts/pre-deploy-check.sh - проверка системы
- scripts/ssl-manager.sh - управление SSL сертификатами
- scripts/audit-db-security.sh - аудит безопасности БД
- DEPLOYMENT.md - полное руководство по развертыванию
- COMMANDS.md - справочник команд
- SECURITY.md - документация по безопасности
🔒 Улучшения безопасности:
- Изоляция PostgreSQL в Docker сети (без внешних портов)
- SCRAM-SHA-256 аутентификация
- TLSv1.3 для БД соединений
- Удаление прав суперпользователя у приложения
- Детальное логирование всех операций БД
- Security headers в nginx
- Автообновление SSL сертификатов
✨ Новый функционал:
- 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 режима
✨ Новые скрипты:
- scripts/check-nginx.sh - полная диагностика nginx
- scripts/nginx-quick-check.sh - быстрая проверка
🔧 Новые команды Makefile:
- make check-nginx - быстрая проверка
- make check-nginx-full - полная диагностика
📊 Что проверяют скрипты:
- Статус службы nginx
- Корректность конфигурации
- Прослушиваемые порты (80, 443)
- Доступность backend/frontend сервисов
- Проксирование через nginx
- Доменные имена и DNS
- SSL сертификаты
- Анализ логов и конфигурации
- Рекомендации по исправлению
📝 Документация:
- docs/NGINX_DIAGNOSTICS.md - руководство по диагностике
🎯 Использование на сервере:
- ./scripts/nginx-quick-check.sh
- ./scripts/check-nginx.sh
- Создан docker-compose.prod.yml для продакшен конфигурации
- Добавлена команда up-prod в Makefile для запуска в продакшен режиме
- Обновлен .env файл с правильными настройками для продакшена
- Исправлены проблемы с паролем PostgreSQL
- Система полностью развернута и работает
- Fix bash error in generate_env.sh with proper environment variable handling
- Add docker-compose command detection for better compatibility
- Add generate-env-prod command with production warnings
- Make generate-env non-interactive by default for easier automation
- Add generate-env-interactive for when user input is needed
- Expand .env.example with more configuration options
- Add helpful production deployment warnings
Resolves: 'make generate-env generates nonsense' issue
- Replace prose-lg with prose-text using standard text-lg utility
- Remove duplicate typography layer definitions
- Clean up CSS structure to use only core Tailwind utilities
- Resolve 'Cannot apply unknown utility class prose-lg' error
Frontend Docker build now succeeds with only minor @screen warnings
- Remove reference to non-existent test-styles.css file in globals.css
- This resolves frontend build error in Docker/CI environment
- Keep existing layouts.css import which exists and is valid
Fixes: Can't resolve './test-styles.css' webpack error
- Document resolution of 'bash: not found' error
- Add explanation of new sh-based script execution
- Update fallback logic documentation with latest improvements
- Provide clear migration path for users experiencing CI issues
This completes the Drone CI troubleshooting documentation
- Replace bash with sh for script execution to work with docker:dind image
- Add bash installation to prepare step for script compatibility
- Keep chmod +x for ensuring script permissions
- All scripts now use sh interpreter which is available by default
This resolves '/bin/sh: bash: not found' errors in Drone CI pipeline
- Replace ./scripts/ci/*.sh with bash scripts/ci/*.sh for better compatibility
- Add chmod +x before script execution to ensure permissions
- Add debugging info showing current directory and file permissions
- This should resolve the 'script not found' error even when files exist
The issue was that ./script.sh requires the script to be in PATH or current dir
with execute permissions, while bash script.sh explicitly invokes bash interpreter"
s