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

2.3 KiB
Raw Blame History

Монитор заявок - CleverParking

Node/Express приложение со встроенным фронтендом и SQLite.

Проект теперь настроен по той же схеме, что и другой рабочий сервис на этом сервере:

  • образ собирается в Woodpecker и публикуется в registry;
  • deploy выполняется на агенте с label role=work_woodpecker;
  • на сервере запускается docker compose pull && docker compose up -d.

Локальный запуск

cp .env.example .env
docker compose up -d --build

Локальный compose собирает образ из текущего каталога и хранит SQLite в ./data.

Production deploy

На сервере должен существовать каталог /opt/intradesk-monitor с файлом .env.

Минимальный пример /opt/intradesk-monitor/.env:

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 в /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 содержит три шага:

  • 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.

Полезные команды на сервере

cd /opt/intradesk-monitor
docker compose ps
docker compose logs -f
cat .previous_image