Запуск на Render
render.yaml в корне репозитория — Blueprint для Render: Render собирает
Dockerfile и запускает один веб-сервис с HTTPS на https://<имя>.onrender.com.
Бесплатный демо-стенд
Заголовок раздела «Бесплатный демо-стенд»Blueprint как есть: бесплатный тариф, демо-данные и демо-учётные записи на странице входа.
- В панели Render: New → Blueprint, подключите GitHub и выберите репозиторий.
- Render прочитает
render.yamlи покажет сервисtsmc; нажмите Deploy Blueprint. - Первая сборка занимает несколько минут; затем откройте адрес сервиса.
Ограничения бесплатного тарифа: диска нет, поэтому данные живут, пока сервис не уснёт (через 15 минут без запросов) или не перезапустится; пробуждение занимает около минуты, демо создаётся заново. 750 бесплатных часов в месяц на рабочее пространство. Подходит, чтобы показать TSMC, но не для работы.
Сервер с данными
Заголовок раздела «Сервер с данными»Рабочему серверу нужен диск, а диски есть только на платных тарифах (Starter: $7 в месяц плюс $0,25 за ГБ диска
в месяц). В render.yaml:
plan: starter;- уберите
TSMC_DEMO; - раскомментируйте
disk(/data, 1 ГБ) и переменныеTSMC_ADMIN_EMAILиTSMC_ADMIN_PASSWORD.sync: falseзначит, что Render спросит их значения при создании Blueprint; администратор создаётся при первом запуске. Без них администратора настроит первый посетитель сайта.
Демо-стенд и рабочий сервер должны быть разными сервисами: демо-учётным записям не место на рабочем сервере, а демо-данные заполняют только пустую базу.
С диском сервис работает в одном экземпляре, а при развёртывании есть простой в несколько секунд (Render останавливает старый экземпляр, прежде чем запустить новый). Миграции схемы выполняются при старте, данные остаются на диске.
Публичный адрес для ссылок в отчётах и баг-репортах берётся из RENDER_EXTERNAL_URL, который задаёт Render; для
своего домена задайте TSMC_PUBLIC_URL.
Резервные копии
Заголовок раздела «Резервные копии»Render делает снимок диска ежедневно и хранит снимки 7 дней (раздел Disks сервиса). Согласованная копия своими силами — в Shell сервиса:
tsmc-server backup # → /data/backups/tsmc-backup-…tsmc-server check и tsmc-server restore работают так же; см. Эксплуатация.
Образ на диске с владельцем root
Заголовок раздела «Образ на диске с владельцем root»Render монтирует диск с владельцем root. Образ стартует от root, передаёт папку данных пользователю node и
запускает сервер от node (docker-entrypoint.sh). Тот же образ
работает в Docker и compose.