Skip to content

Latest commit

 

History

History
96 lines (62 loc) · 3.04 KB

File metadata and controls

96 lines (62 loc) · 3.04 KB

🛠 Сервер и Запуск проекта

Проект использует архитектуру Single Docker Image. При сборке Frontend компилируется и копируется внутрь сервера, который затем раздает его как статику. База данных и миграции управляются автоматически при старте контейнера.

📋 Требования

Вам потребуется только:

  • Docker Desktop (с поддержкой Docker Compose)

Локальная установка Node.js / pnpm не требуется.


⚙️ Запуск (Docker Compose)

1. Настройка окружения

В папке server/ создайте файл .env (если его нет), используя пример ниже. Убедитесь, что параметры совпадают с docker-compose.yaml.

Пример .env:

PORT=2567
NODE_ENV=production
# Хосты указывают на имена сервисов в Docker сети
DATABASE_URL="postgresql://admin:3120@postgres/game_db_prod?schema=public"
REDIS_HOST="redis"
JWT_SECRET="ваш_секретный_ключ"
ADMIN_PASSWORD=1234

2. Запуск

Перейдите в папку сервера и запустите стек:

cd server
docker-compose up -d

Эта команда:

  1. Скачает (или использует локальный) образ game_server.
  2. Запустит PostgreSQL и Redis.
  3. Запустит Game Server.
  4. Автоматически применит миграции БД (скрипт entrypoint.sh).

3. Игра

После запуска игра доступна в браузере по адресу: 👉 http://localhost:2567

(Сервер Colyseus раздает сбилженный клиент по этому порту)


📦 Сборка образа (Обновление кода)

В docker-compose.yaml используется фиксированный тег образа (tohun/game-server:beta). Если вы внесли изменения в код (клиента или сервера), вам нужно пересобрать образ локально, чтобы изменения вступили в силу.

Выполните команду из корня проекта (где лежит pnpm-workspace.yaml):

docker build -t tohun/game-server:beta -f server/Dockerfile .

После сборки перезапустите композ:

cd server
docker-compose down
docker-compose up -d

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

Посмотреть логи (если что-то не запускается):

docker-compose logs -f game_server

Остановить все сервисы:

docker-compose down

Принудительно пересоздать базу данных (удалить volumes):

docker-compose down -v