fixed drone.yml
Some checks failed
continuous-integration/drone/push Build encountered an error

This commit is contained in:
2026-01-18 19:48:21 +06:00
parent 0ed8039644
commit e4bbf50725
13 changed files with 1099 additions and 119 deletions

125
DOCKER_README.md Normal file
View File

@@ -0,0 +1,125 @@
# MC Panel - Docker Setup
## Быстрый запуск
### Windows
```bash
# Запуск
docker-start.bat
# Остановка
docker-stop.bat
```
### Linux/macOS
```bash
# Запуск
docker-compose up --build -d
# Остановка
docker-compose down
```
## Требования
- Docker Desktop 4.0+
- Docker Compose 2.0+
- Минимум 2GB RAM
- Минимум 5GB свободного места
## Конфигурация
1. Скопируйте `.env.docker` в `.env`
2. Отредактируйте переменные окружения в `.env`
3. Запустите контейнеры
## Структура
```
mc-panel/
├── Dockerfile # Основной Dockerfile
├── docker-compose.yml # Конфигурация сервисов
├── .env.docker # Шаблон переменных окружения
├── docker-start.bat # Скрипт запуска (Windows)
└── docker-stop.bat # Скрипт остановки (Windows)
```
## Volumes
- `mc_servers` - Серверы Minecraft
- `mc_data` - Данные приложения
- `mc_logs` - Логи приложения
## Порты
- `8000` - Web интерфейс MC Panel
- `80/443` - Nginx (опционально)
## Полезные команды
```bash
# Просмотр логов
docker-compose logs -f mc-panel
# Перезапуск
docker-compose restart
# Обновление образа
docker-compose build --no-cache
docker-compose up -d
# Вход в контейнер
docker-compose exec mc-panel bash
# Очистка (удаление volumes)
docker-compose down -v
# Полная очистка
docker-compose down --rmi all -v
docker system prune -a
```
## Troubleshooting
### Контейнер не запускается
```bash
# Проверьте логи
docker-compose logs mc-panel
# Проверьте конфигурацию
docker-compose config
```
### Проблемы с правами доступа
```bash
# Linux/macOS - исправление прав
sudo chown -R 1000:1000 backend/servers backend/data logs
```
### Порт уже занят
```bash
# Измените порт в docker-compose.yml
ports:
- "8080:8000" # вместо 8000:8000
```
## Мониторинг
Health check доступен по адресу: `http://localhost:8000/health`
## Безопасность
- Контейнер запускается от непривилегированного пользователя
- Используется multi-stage build для минимизации размера
- Секреты передаются через переменные окружения
- Volumes для персистентных данных
## Production
Для production окружения:
1. Используйте внешнюю базу данных
2. Настройте SSL/TLS через Nginx
3. Используйте Docker Swarm или Kubernetes
4. Настройте мониторинг и логирование
5. Регулярно обновляйте образы