No description
| public | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .woodpecker.yml | ||
| docker-compose.deploy.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| intradesk-monitor.zip | ||
| package.json | ||
| README.md | ||
| server.js | ||
| start.sh | ||
Монитор заявок - 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_hostforgejo_imageforgejo_usernameforgejo_token
forgejo_image должен совпадать с IMAGE_NAME в серверном .env.
Что делает pipeline
.woodpecker.yml содержит три шага:
docker-build— сборка и pushlatestи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