STEP 01Check the public journey
Open the HTTPS URL from a separate device and connection. Verify redirects, certificate validity, mobile navigation, login and the most important user action. Check the browser console for errors and the network panel for failed requests or mixed content.
STEP 02Check private boundaries
A logged-out user must not access admin pages or mutation endpoints. Keep databases private, credentials out of the browser and production errors free of stack traces. Validate uploaded files on the server. Test authorization, not merely whether the login screen exists.
STEP 03Check persistence and restart behavior
Create test data, restart only your app and confirm it remains. Verify the process supervisor and boot configuration. Ensure logs are rotated and a full disk is monitored. A running process can still serve errors; add an application health check.
STEP 04Check recovery before you need it
Restore a backup in isolation, record the steps and time required. Keep a known-good release and understand whether database changes can be reversed. Define who receives monitoring alerts and who can access the server when the main maintainer is unavailable.
STEP 05Leave a short operator note
Document the repository, production commit, domain, service name, data locations, deployment commands and rollback procedure. Include how secrets are obtained, not their values. Future you is the first person this documentation helps.
COPY → YOUR AI
Take the next step to your AI.
A safe starting prompt for this guide. No secrets. Works with ChatGPT, Claude and other assistants.
Sources and technical documentation
Docker documentation ↗Caddy automatic HTTPS ↗This recipe is a pattern for the stated prerequisites. Verify project compatibility and your actual server configuration before applying it to a live service.