@ehmatthes usually Debian, Caddy, SQLite and gunicorn. Postgres if SQLite doesn’t do the trick.
Lately I started building a Docker image mostly for convenience and to not having to deal with system dependencies. But it still feels very much optional and like unnecessary overhead.