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

3.1 KiB
Raw Blame History

MC Panel - Docker Setup

Быстрый запуск

Windows

# Запуск
docker-start.bat

# Остановка  
docker-stop.bat

Linux/macOS

# Запуск
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 (опционально)

Полезные команды

# Просмотр логов
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

Контейнер не запускается

# Проверьте логи
docker-compose logs mc-panel

# Проверьте конфигурацию
docker-compose config

Проблемы с правами доступа

# Linux/macOS - исправление прав
sudo chown -R 1000:1000 backend/servers backend/data logs

Порт уже занят

# Измените порт в 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. Регулярно обновляйте образы