intra_monitor/README.md
2026-03-18 14:39:47 +03:00

61 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Монитор заявок - CleverParking
Node/Express приложение со встроенным фронтендом и SQLite.
Проект теперь настроен по той же схеме, что и другой рабочий сервис на этом сервере:
- образ собирается в Woodpecker и публикуется в registry;
- deploy выполняется на агенте с label `role=work_woodpecker`;
- на сервере запускается `docker compose pull && docker compose up -d`.
## Локальный запуск
```bash
cp .env.example .env
docker compose up -d --build
```
Локальный compose собирает образ из текущего каталога и хранит SQLite в `./data`.
## Production deploy
На сервере должен существовать каталог `/opt/intradesk-monitor` с файлом `.env`.
Минимальный пример `/opt/intradesk-monitor/.env`:
```dotenv
JWT_SECRET=long_random_secret
ADMIN_SECRET=another_long_secret
APP_PORT=3000
IMAGE_NAME=git.example.com/user/intradesk-monitor
```
Во время deploy pipeline копирует [docker-compose.deploy.yml](c:/Users/Professional/Documents/VSCode/intra_git/intradesk-monitor/docker-compose.deploy.yml) в `/opt/intradesk-monitor/docker-compose.yml`, затем выполняет стандартный `docker compose pull` и `docker compose up -d`.
## Секреты Woodpecker
Нужны секреты репозитория:
- `forgejo_host`
- `forgejo_image`
- `forgejo_username`
- `forgejo_token`
`forgejo_image` должен совпадать с `IMAGE_NAME` в серверном `.env`.
## Что делает pipeline
[.woodpecker.yml](c:/Users/Professional/Documents/VSCode/intra_git/intradesk-monitor/.woodpecker.yml) содержит три шага:
- `docker-build` — сборка и push `latest` и `sha-<shortsha>` при push в `main`;
- `docker-build-tag` — сборка и push git tag, `latest` и `sha-<shortsha>` при событии tag;
- `deploy` — deploy на прод-сервере через Docker socket на агенте `role=work_woodpecker`.
## Полезные команды на сервере
```bash
cd /opt/intradesk-monitor
docker compose ps
docker compose logs -f
cat .previous_image
```