Files
NeveTimePanel/DOCKER_README.md
arkonsadter e4bbf50725
Some checks failed
continuous-integration/drone/push Build encountered an error
fixed drone.yml
2026-01-18 19:48:21 +06:00

125 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. Регулярно обновляйте образы