79 lines
1.9 KiB
Markdown
79 lines
1.9 KiB
Markdown
# monitoring-server
|
||
|
||
Параллельный HTTP прокси-сервер с поддержкой стриминга через Socket.io.
|
||
|
||
[](https://woodpecker.sedletskiy.ru/repos/2)
|
||
|
||
## Стек
|
||
|
||
- **Node.js** + Express
|
||
- **Socket.io** — стриминг ответов в реальном времени
|
||
- **Axios** — выполнение проксируемых запросов
|
||
- **Docker** — контейнеризация
|
||
- **Drone CI** — автоматическая сборка и публикация образа
|
||
|
||
## Быстрый старт
|
||
|
||
### Локально
|
||
|
||
```bash
|
||
npm install
|
||
npm run dev
|
||
```
|
||
|
||
Сервер запустится на `http://localhost:4000`
|
||
|
||
### Docker
|
||
|
||
```bash
|
||
docker pull git.sedletskiy.ru/kosechok/network-tools-server:latest
|
||
|
||
docker run -d \
|
||
--name proxy-server \
|
||
--restart unless-stopped \
|
||
-p 4000:4000 \
|
||
-e PORT=4000 \
|
||
git.sedletskiy.ru/kosechok/network-tools-server:latest
|
||
```
|
||
|
||
## Переменные окружения
|
||
|
||
| Переменная | По умолчанию | Описание |
|
||
|---|---|---|
|
||
| `PORT` | `4000` | Порт на котором слушает сервер |
|
||
|
||
## CI/CD
|
||
|
||
При каждом пуше в ветку `master` Drone CI автоматически:
|
||
|
||
1. Собирает Docker-образ
|
||
2. Публикует его в Gitea Container Registry (`git.sedletskiy.ru`)
|
||
|
||
Образ доступен по адресу:
|
||
|
||
```
|
||
git.sedletskiy.ru/kosechok/network-tools-server:latest
|
||
```
|
||
|
||
## Структура проекта
|
||
|
||
```
|
||
├── index.js # Точка входа
|
||
├── package.json
|
||
├── Dockerfile
|
||
└── .drone.yml # Пайплайн CI/CD
|
||
```
|
||
|
||
## Разработка
|
||
|
||
```bash
|
||
# Установить зависимости
|
||
npm install
|
||
|
||
# Запустить с hot-reload
|
||
npm run dev
|
||
|
||
# Запустить без hot-reload
|
||
npm start
|
||
```
|