poker/DOCKER_SETUP_SUMMARY.md

7.2 KiB
Raw Blame History

🐳 Подготовка к Docker развертыванию - Сводка изменений

Созданные файлы

Docker конфигурация

  1. Dockerfile

    • Основан на Node.js 18 Alpine
    • Порт: 3336
    • Автоматическая установка зависимостей
    • Production режим
  2. docker-compose.yml

    • Сервис: poker-app
    • Порт маппинг: 3336:3336
    • Volumes для данных и логов
    • Автоматический рестарт
  3. .dockerignore

    • Исключение node_modules
    • Исключение баз данных
    • Исключение логов и временных файлов

Apache конфигурация

  1. apache-config.conf
    • HTTP (порт 80) → localhost:3336
    • HTTPS (порт 443) → localhost:3336
    • WebSocket поддержка (proxy_wstunnel)
    • Заголовки безопасности
    • Готовые настройки SSL

Скрипты развертывания

  1. deploy.sh (Linux/Mac)

    • Проверка Docker и Docker Compose
    • Создание директорий
    • Автоматическая сборка и запуск
    • Проверка статуса
  2. deploy.ps1 (Windows PowerShell)

    • Аналог deploy.sh для Windows
    • Цветной вывод
    • Проверка всех зависимостей

Документация

  1. DEPLOYMENT.md

    • Полное руководство по развертыванию
    • Инструкции для Docker
    • Настройка Apache
    • Backup и восстановление
    • Troubleshooting
    • Безопасность
  2. DOCKER_README.md

    • Краткая инструкция по Docker
    • Основные команды
    • NPM скрипты
    • Quick start
  3. README.md

    • Обновленный главный README
    • Информация о Docker
    • Полный список функций
    • Структура проекта
    • Troubleshooting

Дополнительные файлы

  1. .env.example

    • Пример переменных окружения
    • PORT=3336
    • NODE_ENV=production
  2. .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 конфигурация готова
  • Исправлена работа с токенами

🎯 Следующие шаги

  1. Протестировать локально:

    docker-compose up -d
    
  2. Открыть в браузере:

    http://localhost:3336
    
  3. Проверить логи:

    docker-compose logs -f
    
  4. Настроить Apache (если нужно):

    sudo cp apache-config.conf /etc/apache2/sites-available/poker.conf
    sudo a2ensite poker.conf
    sudo systemctl reload apache2
    
  5. Создать администратора:

    • Зарегистрироваться через интерфейс
    • Выполнить 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