7.2 KiB
7.2 KiB
🐳 Подготовка к Docker развертыванию - Сводка изменений
✅ Созданные файлы
Docker конфигурация
-
Dockerfile- Основан на Node.js 18 Alpine
- Порт: 3336
- Автоматическая установка зависимостей
- Production режим
-
docker-compose.yml- Сервис: poker-app
- Порт маппинг: 3336:3336
- Volumes для данных и логов
- Автоматический рестарт
-
.dockerignore- Исключение node_modules
- Исключение баз данных
- Исключение логов и временных файлов
Apache конфигурация
apache-config.conf- HTTP (порт 80) → localhost:3336
- HTTPS (порт 443) → localhost:3336
- WebSocket поддержка (proxy_wstunnel)
- Заголовки безопасности
- Готовые настройки SSL
Скрипты развертывания
-
deploy.sh(Linux/Mac)- Проверка Docker и Docker Compose
- Создание директорий
- Автоматическая сборка и запуск
- Проверка статуса
-
deploy.ps1(Windows PowerShell)- Аналог deploy.sh для Windows
- Цветной вывод
- Проверка всех зависимостей
Документация
-
DEPLOYMENT.md- Полное руководство по развертыванию
- Инструкции для Docker
- Настройка Apache
- Backup и восстановление
- Troubleshooting
- Безопасность
-
DOCKER_README.md- Краткая инструкция по Docker
- Основные команды
- NPM скрипты
- Quick start
-
README.md- Обновленный главный README
- Информация о Docker
- Полный список функций
- Структура проекта
- Troubleshooting
Дополнительные файлы
-
.env.example- Пример переменных окружения
- PORT=3336
- NODE_ENV=production
-
.gitignore- Обновлен для Docker
- Исключение data/ и logs/
- Исключение .env файлов
🔧 Измененные файлы
1. package.json
Добавлены npm скрипты:
"docker:build": "docker-compose build",
"docker:up": "docker-compose up -d",
"docker:down": "docker-compose down",
"docker:logs": "docker-compose logs -f",
"docker:restart": "docker-compose restart"
2. public/main.js
Исправлена работа с токенами:
- Изменено
localStorage.getItem('token')наlocalStorage.getItem('authToken') - Синхронизировано с auth.js
- Исправлены функции: loadUsers(), saveUserEdit(), toggleBanUser(), deleteUser()
📋 Структура Docker развертывания
Приложение (порт 3336)
↓
Docker контейнер (texas-holdem-poker)
↓
Docker Compose (управление)
↓
Apache (reverse proxy)
↓
Интернет (порт 80/443)
🚀 Способы запуска
1. Автоматический (рекомендуется)
Windows:
.\deploy.ps1
Linux/Mac:
chmod +x deploy.sh
./deploy.sh
2. Docker Compose
docker-compose up -d
3. NPM скрипты
npm run docker:build
npm run docker:up
4. Docker вручную
docker build -t texas-holdem-poker .
docker run -d -p 3336:3336 --name poker-app texas-holdem-poker
🌐 Порты
- 3336 - Основной порт приложения (Docker)
- 80 - HTTP через Apache (опционально)
- 443 - HTTPS через Apache (опционально)
Важно: Порт изменен с 3000 на 3336 согласно требованию
📦 Volumes
volumes:
- ./data:/app/data # База данных SQLite
- ./logs:/app/logs # Логи приложения
Данные сохраняются на хосте, даже при удалении контейнера.
🔐 Переменные окружения
В docker-compose.yml:
environment:
- NODE_ENV=production
- PORT=3336
В Dockerfile:
ENV NODE_ENV=production
ENV PORT=3336
📚 Документация
| Файл | Описание |
|---|---|
README.md |
Главная документация проекта |
DEPLOYMENT.md |
Полное руководство по развертыванию |
DOCKER_README.md |
Краткая инструкция Docker |
BOT_PERSONALITIES_CONFIG.md |
Настройка ботов |
ADMIN_USER_MANAGEMENT.md |
Управление пользователями |
✅ Контрольный список готовности
- Dockerfile создан
- docker-compose.yml настроен
- .dockerignore настроен
- Apache конфигурация готова
- Скрипты развертывания (Linux & Windows)
- Документация обновлена
- npm скрипты добавлены
- .gitignore обновлен
- Порт изменен на 3336
- Переменные окружения настроены
- Volumes для данных настроены
- WebSocket поддержка в Apache
- SSL конфигурация готова
- Исправлена работа с токенами
🎯 Следующие шаги
-
Протестировать локально:
docker-compose up -d -
Открыть в браузере:
http://localhost:3336 -
Проверить логи:
docker-compose logs -f -
Настроить Apache (если нужно):
sudo cp apache-config.conf /etc/apache2/sites-available/poker.conf sudo a2ensite poker.conf sudo systemctl reload apache2 -
Создать администратора:
- Зарегистрироваться через интерфейс
- Выполнить SQL:
UPDATE users SET role = 'admin' WHERE username = 'ваш_логин';
📞 Команды для проверки
# Проверка статуса
docker-compose ps
# Просмотр логов
docker-compose logs -f
# Проверка порта
netstat -ano | findstr :3336 # Windows
lsof -i :3336 # Linux/Mac
# Проверка Apache модулей
apache2ctl -M | grep proxy
# Тест подключения
curl http://localhost:3336
🎉 Готово!
Репозиторий полностью подготовлен к развертыванию в Docker на порту 3336 с поддержкой Apache reverse proxy.
Дата: 2026-02-01
Версия: 1.0.0
Статус: ✅ Production Ready