# Timeweb fallback auto-deploy Use this only for the Year/shared-hosting fallback where system `crontab` is unavailable and scheduling is configured in the Timeweb panel. ## What it does `caterium-production-sync.sh` checks the GitHub `production` branch, deploys only when the commit changed, validates that `public/index.html` exists, creates a rollback archive before changing live files, prevents overlapping runs, and keeps the four newest backups. ## Timeweb panel Crontab Create one task that runs every 5 minutes. Command: ```sh /bin/sh "$HOME/caterium-production-sync.sh" >> "$HOME/.caterium-deploy/cron.log" 2>&1 ``` Copy `ops/timeweb/caterium-production-sync.sh` from this repository to: ```text $HOME/caterium-production-sync.sh ``` If the live document root is not auto-detected, prefix the command with the exact path, for example: ```sh CATERIUM_WEB_ROOT="$HOME/caterium.ru/public_html" /bin/sh "$HOME/caterium-production-sync.sh" >> "$HOME/.caterium-deploy/cron.log" 2>&1 ``` The deploy checkout uses the already configured GitHub SSH access. The old Cloudflare Worker must remain enabled as a fallback until the Timeweb production domain, SSL, Supabase flows, uploads and PDF generation have been verified.