Flask Deployment Playbook

Production-ready guides for deploying and scaling Flask applications on Ubuntu with Nginx and Gunicorn.

This site is organized as a practical Flask production playbook. Start with deployment, move to HTTPS and file serving, then use the fix guides when something breaks under real traffic.

If you are starting from scratch, the safest order is: deploy Flask behind Gunicorn, put Nginx in front, add HTTPS, verify static and media file serving, then add safer deployment workflows.

Start Here

If your app is not deployed yet, start with the Nginx + Gunicorn guide. It is the baseline that the rest of the site assumes.

Fix Fast

If production is already live and failing, go straight to the issue guides and identify whether the break is in Nginx, Gunicorn, permissions, or file serving.

Harden Next

After the stack is stable, add HTTPS, verify the production checklist, and implement zero-downtime reloads for safer releases.