From fae37cfb283557d92b58628b662c3c1261633ef9 Mon Sep 17 00:00:00 2001 From: Sergey Petrov Date: Mon, 10 Mar 2025 22:24:35 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D0=B5=D1=80=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 6 ++++++ .env | 4 ---- .env.example | 5 +++++ .gitignore | 2 +- Dockerfile | 20 ++++++++++++++++++++ README.md | 30 ++++++++++++++++++++++++++---- 6 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 .dockerignore delete mode 100644 .env create mode 100644 .env.example create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..8deaf9f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +node_modules +npm-debug.log +.env +.git +.gitignore +README.md \ No newline at end of file diff --git a/.env b/.env deleted file mode 100644 index c785493..0000000 --- a/.env +++ /dev/null @@ -1,4 +0,0 @@ -PORT=3000 -API_TOKEN=b4c8e9c9-73e4-4669-b75b-3ad625721286 -API_URL=https://sd.nubes.ru/pub/v1/app/employees/employees_upload/list -API_PAGE_SIZE=1000 \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..9dacfec --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +PORT=3000 + +API_TOKEN= +API_URL= +API_PAGE_SIZE=1000 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 57cf12b..1a8f1e6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ package-lock.json .idea/ # Переменные окружения -.env.* +.env # Логи npm-debug.log* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c062c02 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Используем официальный образ Node.js +FROM node:20-alpine + +# Создаем директорию приложения +WORKDIR /app + +# Копируем файлы package.json и package-lock.json +COPY package*.json ./ + +# Устанавливаем зависимости +RUN npm install + +# Копируем исходный код приложения +COPY . . + +# Открываем порт +EXPOSE 3000 + +# Запускаем приложение +CMD ["npm", "start"] \ No newline at end of file diff --git a/README.md b/README.md index cabaeac..63b2234 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,37 @@ Телефонный справочник сотрудников на Node.js. -## Установка +## Установка и запуск + +### Локальный запуск ```bash +# Установка зависимостей npm install + +# Запуск приложения +npm start ``` -## Запуск +Приложение будет доступно по адресу: http://localhost:3000 +### Запуск через Docker + +1. Создайте файл `.env` на основе `.env.example`: ```bash -npm start +cp .env.example .env +``` + +2. Отредактируйте `.env` файл, указав необходимые значения. + +3. Соберите Docker образ: +```bash +docker build -t phone-book . +``` + +4. Запустите контейнер: +```bash +docker run -p 3000:3000 --env-file .env phone-book ``` Приложение будет доступно по адресу: http://localhost:3000 @@ -24,4 +45,5 @@ npm start - Node.js - Express -- node-fetch \ No newline at end of file +- node-fetch +- Docker \ No newline at end of file