This commit is contained in:
125
DOCKER_README.md
Normal file
125
DOCKER_README.md
Normal 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. Регулярно обновляйте образы
|
||||
Reference in New Issue
Block a user