Django people who deploy to a VPS: What is your current setup?

I've always used Ubuntu, Postgres, gunicorn, and nginx. But I'm curious how people have deviated from that approach.

Mostly thinking about small to medium projects, which run from a single server.

#python #django

@ehmatthes Docker swarm on whatever vps (loving the ARM vps from hetzner recently!); traefik and portainer for managing docker. External Managed Postgres. CloudFlare in front.
Django itself is usually granian with asgi, and a huey or django-tasks worker.

Deploy pushes container img to GitHub container registry (packages) and does an API call to the portainer stack to update to newly built image tag.
Traefik+swarm handles blue-green so no downtime, if it fails it rolls back to old container.

@ehmatthes I like this approach bc it works for fairly small apps, even with its own local Postgres it can fit on a $4/mnth hetzner system, but it also scales up to multiple nodes and provides a similar deployment strategy to a full k8s deploy which is the next place I head for bigger apps (or clients with more complex/specific demands).