← TermalinCONTENT HISTORY
WHAT CHANGED
Update to Termalin
Snapshot Nov 6, 2026 · 00:12 UTC · version 2.1.7
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Termalin and check future changes in Following.
Up to 3 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Verify a server after a deployment, update or restart — services up, ports listening, logs clean, site answering, certificates valid, metrics stable. Use when the user says they just deployed, updated, restarted or migrated something and wants to know it is fine.",
"included_files": [],
"name": "deploy-check",
"skill_md_contents": "---\nname: deploy-check\ndescription: Verify a server after a deployment, update or restart — services up, ports listening, logs clean, site answering, certificates valid, metrics stable. Use when the user says they just deployed, updated, restarted or migrated something and wants to know it is fine.\n---\n\nA deployment is good when the service is up, nothing new is in the error logs, the site answers and the numbers look like before. Check all four, read-only, and report in that order.\n\n1. Services and ports (`ssh_exec`):\n - `systemctl --failed --no-pager` — must be empty.\n - `systemctl status <unit> --no-pager | head -5` for the deployed unit(s); for Docker: `docker compose ps` or `docker ps --format '{{.Names}} {{.Status}}'` — look for \"Restarting\" and recent restarts.\n - `ss -tlnp | grep -E ':(80|443|<app port>)'` — the expected ports are listening.\n2. Logs since the deploy:\n - `journalctl -u <unit> --since '-15 min' -p warning --no-pager | tail -50`, or `docker logs --since 15m <container> 2>&1 | grep -i -E 'error|fatal|panic|exception' | tail -30`.\n - Web server: `tail -50 /var/log/nginx/error.log` (or the equivalent).\n3. From the outside: `curl -s -o /dev/null -w '%{http_code} %{time_total}s\\n' https://<domain>/` and one real endpoint (`/health`, `/api/...`). A 200 with the previous latency is the goal; a 502/503 means step 1 lied — go back.\n4. Certificate and monitoring:\n - `echo | openssl s_client -connect <domain>:443 -servername <domain> 2>/dev/null | openssl x509 -noout -enddate`.\n - `server_metrics` for the host with `hours: 2`: CPU, memory and load should settle within minutes; a climbing memory line after a deploy is a leak or a missing cache limit, say so.\n - `alerts_list`: nothing new for this host.\n\nReport as a short checklist with ✓ / ✗ per item and the evidence (one line each). If anything failed, give the most likely cause and the first rollback or fix step, but do not perform it without the user's yes. If a migration or build is still running, follow it with `job_status` instead of re-running it.\n"
}SHA-256 of public snapshot: 3dd23eba05d969da9d94385020fe9efadd4e14243e161a7b85db7283701dd4f9