All checks were successful
continuous-integration/drone/push Build is passing
- Add nginx/default.conf with simplified configuration to fix "no events section" error - Update docker-compose.yml to mount nginx/default.conf instead of nginx.conf - Fix backend/daemons.py data path from backend/data/daemons.json to data/daemons.json - Improve users.json path detection with fallback logic in daemons.py - Add servers directory to .gitignore - Create DOCKER_FIX.md documentation with troubleshooting steps and solutions - Ensure data directory is created automatically when backend starts
4.7 KiB
4.7 KiB
Исправление Docker ошибок
Проблемы
- Nginx:
no "events" section in configuration - Backend:
FileNotFoundError: [Errno 2] No such file or directory: 'backend/data'
Исправления
1. ✅ Исправлена nginx конфигурация
- Создан файл
nginx/default.confс упрощенной конфигурацией - Обновлен
docker-compose.ymlдля использования правильного пути
2. ✅ Исправлен путь к папке данных
- В
backend/daemons.pyизменен путь сbackend/data/daemons.jsonнаdata/daemons.json - Добавлена проверка существования файла пользователей
Что нужно сделать
Вариант 1: Обновить файлы и перезапустить
-
Скопируйте обновленные файлы:
backend/daemons.pynginx/default.conf(новый файл)docker-compose.yml
-
Остановите контейнеры:
docker-compose down -
Пересоберите и запустите:
docker-compose up --build -d
Вариант 2: Быстрое исправление (без пересборки)
-
Остановите только nginx:
docker-compose stop nginx -
Создайте папку data в контейнере mc-panel:
docker exec mc-panel mkdir -p /app/data -
Запустите nginx с новой конфигурацией:
docker-compose up nginx -d
Проверка
После исправления:
-
Проверьте статус контейнеров:
docker-compose psДолжно быть:
NAME STATE mc-panel Up mc-panel-nginx Up -
Проверьте логи:
docker-compose logs mc-panel docker-compose logs nginx -
Откройте панель:
- Перейдите на IP сервера (порт 80)
- Должна открыться панель управления
Структура файлов после исправления
📁 Проект
├── 📁 nginx/
│ ├── default.conf # ✅ Новая упрощенная конфигурация
│ └── nginx.conf # Старая (не используется)
│
├── 📁 backend/
│ └── daemons.py # ✅ Исправлен путь к data/
│
├── docker-compose.yml # ✅ Обновлен для nginx/default.conf
└── 📁 data/ # Создается автоматически
├── daemons.json
├── users.json
└── tickets.json
Переменные окружения
Убедитесь, что в .env файле заданы:
# ZITADEL SSO
ZITADEL_ISSUER=https://sso.nevetime.ru
ZITADEL_CLIENT_ID=your_client_id
ZITADEL_CLIENT_SECRET=your_client_secret
# URLs
BASE_URL=https://your-domain.com
FRONTEND_URL=https://your-domain.com
# Security
SECRET_KEY=your-secret-key-here
Если проблемы остались
Nginx всё еще не запускается
-
Проверьте монтирование:
docker exec mc-panel-nginx ls -la /etc/nginx/conf.d/ -
Проверьте синтаксис:
docker exec mc-panel-nginx nginx -t -
Используйте стандартную конфигурацию:
# Удалите volume с nginx конфигурацией из docker-compose.yml # Nginx будет использовать стандартную конфигурацию
Backend всё еще падает
-
Создайте папки вручную:
mkdir -p data touch data/users.json touch data/tickets.json touch data/daemons.json -
Проверьте права доступа:
chmod 755 data chmod 644 data/*.json
Альтернативное решение
Если проблемы продолжаются, можно запустить без nginx:
-
Отключите nginx в docker-compose.yml:
# Закомментируйте секцию nginx -
Измените порты mc-panel:
ports: - "80:8000" # Прямой доступ к панели -
Перезапустите:
docker-compose up -d mc-panel
После исправления панель должна работать на IP сервера через порт 80!