Skip to content
prod 352bb92
Browse

Set up shared hosting

Objective — Make a shared-hosting account ready for app deploys (Admin-Server scripts, cron, SSH, alerts) before you run an app-specific deploy playbook.

An app setup playbook walks one app from source to production. Shared-hosting setup walks one Hostinger/cPanel account from empty (or shared) to operational — the Admin-Server toolkit, backup cron, and alert webhooks that every app on that account will reuse.

graph LR
A["New hosting account"] --> B["Shared-hosting setup<br/>(this guide)"]
B --> C["App setup<br/>one app"]
C --> D["Continuous-deploy · ongoing"]

If you already run other projects on the account and ~/Admin-Server/scripts/status.sh exists, choose verify existing instead of reinstalling — but still run the log-freshness probe. Scripts on disk do not prove Hostinger cron jobs are still firing.

OutcomeHow you know it is done
Admin-Server toolkit on the accountstatus.sh exits 0 and the log-freshness probe has no STALE rows
Cron documented in Hostinger API/hPanelSix cron entries match the status script output, use absolute /home/<user>/Admin-Server/... commands, and each expected log is fresh within cron interval ×2
Discord (or Slack) ops alerts wiredSynthetic test ping from ops channel config; deploy/backups/heartbeat slots can stay blank but are explicit no-ops
SSH alias in your ~/.ssh/configssh staging / ssh production work without passwords
SituationAction
Brand-new hosting accountFull shared-hosting install (Admin-Server + cron + alerts)
Account already runs other Zaj appsVerify-only — run status script + log freshness, fix gaps
Shared portfolio serverSame as verify — never duplicate Admin-Server

The executable version now lives on the Build shelf:

  • Shared-hosting setup playbook — once-per-account Admin-Server setup, cron, webhooks, MD5 baselines, and the verified skip path
  • Your app-specific deploy playbook — the consumer that assumes server prerequisites are met before deploy work