Some checks failed
continuous-integration/drone/push Build encountered an error
125 lines
3.1 KiB
Markdown
125 lines
3.1 KiB
Markdown
# 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. Регулярно обновляйте образы |