File size: 1,535 Bytes
204264d
6e08682
 
204264d
6e08682
 
204264d
6e08682
 
204264d
 
6e08682
 
204264d
6e08682
 
204264d
 
 
 
 
 
 
 
6e08682
 
204264d
6e08682
 
204264d
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Используем официальный образ Node.js 18 в slim-версии
FROM node:18-slim

# Устанавливаем рабочую директорию внутри контейнера
WORKDIR /usr/src/app

# Копируем package.json и package-lock.json для установки зависимостей
COPY package*.json ./

# Устанавливаем зависимости, необходимые для работы приложения
# Флаг --omit=dev пропускает установку devDependencies
RUN npm install --omit=dev

# Копируем все остальные файлы проекта в рабочую директорию
COPY . .

# Создаем директорию 'data', где будет храниться база данных SQLite
RUN mkdir ./data

# Меняем владельца всех файлов и папок в /usr/src/app на пользователя 'node'
# Это необходимо, чтобы приложение имело права на запись в эту директорию (например, для создания и изменения файла БД)
RUN chown -R node:node .

# Указываем, что контейнер будет слушать порт 7860
EXPOSE 7860

# Устанавливаем переменную окружения для production
ENV NODE_ENV=production

# Команда для запуска приложения при старте контейнера
CMD ["node", "server.js"]