- Переписаны основные файлы сервера с JavaScript на TypeScript. - Добавлен новый обработчик ошибок с логированием в базу данных. - Обновлен Dockerfile для поддержки сборки TypeScript. - Изменены настройки окружения для MongoDB в docker-compose. - Удалены устаревшие файлы и добавлены новые модели и утилиты для работы с MongoDB. - Обновлены зависимости в package.json и package-lock.json.
39 lines
1.3 KiB
Docker
39 lines
1.3 KiB
Docker
FROM node:22 AS builder
|
|
|
|
WORKDIR /usr/src/app/
|
|
|
|
# Сначала копируем только файлы, необходимые для установки зависимостей
|
|
COPY ./package.json /usr/src/app/package.json
|
|
COPY ./package-lock.json /usr/src/app/package-lock.json
|
|
|
|
# Устанавливаем все зависимости
|
|
RUN npm ci
|
|
|
|
# Затем копируем исходный код проекта и файлы конфигурации
|
|
COPY ./tsconfig.json /usr/src/app/tsconfig.json
|
|
COPY ./server /usr/src/app/server
|
|
|
|
# Сборка проекта
|
|
RUN npm run build
|
|
|
|
# Вторая стадия - рабочий образ
|
|
FROM node:22
|
|
|
|
RUN mkdir -p /usr/src/app/server/log/
|
|
WORKDIR /usr/src/app/
|
|
|
|
# Копирование только package.json/package-lock.json для продакшн зависимостей
|
|
COPY ./package.json /usr/src/app/package.json
|
|
COPY ./package-lock.json /usr/src/app/package-lock.json
|
|
|
|
# Установка только продакшн зависимостей
|
|
RUN npm ci --production
|
|
|
|
# Копирование собранного приложения из билдера
|
|
COPY --from=builder /usr/src/app/dist /usr/src/app/dist
|
|
COPY --from=builder /usr/src/app/server /usr/src/app/server
|
|
|
|
EXPOSE 8044
|
|
|
|
CMD ["npm", "run", "up:prod"]
|