opex792 commited on
Commit
204264d
·
verified ·
1 Parent(s): 255b214

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +18 -1
Dockerfile CHANGED
@@ -1,15 +1,32 @@
 
1
  FROM node:18-slim
2
 
 
3
  WORKDIR /usr/src/app
4
 
 
5
  COPY package*.json ./
6
 
 
 
7
  RUN npm install --omit=dev
8
 
 
9
  COPY . .
10
 
 
 
 
 
 
 
 
 
11
  EXPOSE 7860
12
 
 
13
  ENV NODE_ENV=production
14
 
15
- CMD ["node", "server.js"]
 
 
 
1
+ # Используем официальный образ Node.js 18 в slim-версии
2
  FROM node:18-slim
3
 
4
+ # Устанавливаем рабочую директорию внутри контейнера
5
  WORKDIR /usr/src/app
6
 
7
+ # Копируем package.json и package-lock.json для установки зависимостей
8
  COPY package*.json ./
9
 
10
+ # Устанавливаем зависимости, необходимые для работы приложения
11
+ # Флаг --omit=dev пропускает установку devDependencies
12
  RUN npm install --omit=dev
13
 
14
+ # Копируем все остальные файлы проекта в рабочую директорию
15
  COPY . .
16
 
17
+ # Создаем директорию 'data', где будет храниться база данных SQLite
18
+ RUN mkdir ./data
19
+
20
+ # Меняем владельца всех файлов и папок в /usr/src/app на пользователя 'node'
21
+ # Это необходимо, чтобы приложение имело права на запись в эту директорию (например, для создания и изменения файла БД)
22
+ RUN chown -R node:node .
23
+
24
+ # Указываем, что контейнер будет слушать порт 7860
25
  EXPOSE 7860
26
 
27
+ # Устанавливаем переменную окружения для production
28
  ENV NODE_ENV=production
29
 
30
+ # Команда для запуска приложения при старте контейнера
31
+ CMD ["node", "server.js"]
32
+