Docker Compose Stack Recovery
Recover a self-hosted stack after reboot, failed update, unhealthy container or dependency outage without immediately destroying state.
Evidence tier describes my hands-on relationship with the content. Official sources describe platform contracts/documentation. Production observations should not automatically be treated as official limits.
Confirm host health first
Check disk space, memory pressure, time synchronization, network and Docker daemon state before blaming the application.
Read container state and health
Use docker compose ps and health status to separate stopped, restarting and unhealthy services.
Inspect recent logs
Capture the first relevant error before restarting repeatedly and overwriting useful context.
Validate volumes and configuration
Confirm expected named volumes, bind mounts, env files and permissions still exist.
Restart the smallest safe scope
Prefer one affected service before cycling the entire stack unless dependencies require it.
Verify application-level readiness
Open the health endpoint/UI and execute one representative workflow, not only docker ps.
Escalate to restore only with evidence
If state is corrupted, restore from a known backup and document what changed before recovery.