Three containers, one database
Nothing exotic. Postgres holds everything; use the bundled container or your own. The API applies database migrations when it starts, so an upgrade is "pull the new image and restart". The web app is static files behind nginx.
Put your usual TLS proxy in front and set KEYSTONE_SECURE_COOKIES so sessions only travel over HTTPS. Health and readiness checks are there for your load balancer, logs come out as JSON, and backup and restore scripts are included.
