Перейти к содержимому

Docker

Окно терминала
docker compose up -d # сборка образа и запуск: http://localhost:3000, данные в томе tsmc-data

Или без compose:

Окно терминала
docker build -t tsmc .
docker run -d -p 3000:3000 -v tsmc-data:/data --name tsmc tsmc

Образ (~265 МБ) работает от непривилегированного пользователя, хранит базу в /data/tsmc.db, слушает 0.0.0.0:3000 и имеет HEALTHCHECK по /api/health. В образе есть и CLI — его удобно запускать в CI:

Окно терминала
docker run --rm -e TSMC_URL -e TSMC_TOKEN -v "$PWD:/work" -w /work tsmc \
tsmc junit upload build/test-results/*.xml -p SHOP -r "Nightly $BUILD"

Резервная копия на ходу — docker exec tsmc tsmc-server backup (в /data/backups): база, вложения и ключ токенов трекеров, целостным снимком без остановки сервера; tsmc-server check проверяет данные, tsmc-server restore возвращает копию. HTTPS — через обратный прокси (готовые примеры для Caddy и nginx). Всё это, а также обновление, остановку и метрики Prometheus описывает Эксплуатация. Render: render.yaml и Запуск на Render. Стенд команды, который сам пересобирает main на всегда включённом компьютере с Windows и открыт через Tailscale Funnel: Стенд команды на своём компьютере.

Настройки сервера задаются переменными окружения: Переменные окружения.