Earlier quoted context omitted.
If you want even more minimal, Gerrit is structured as a Java app with no external dependencies like databases, and stores all it's configuration and runtime information on the filesystem, mostly as data structures in the git repos. Shared filesystems is all you need to scale/replicate it, and it also makes the backup process quite simple.
The deployment may be simple, but at the same time, the Gerrit code review workflow is terrible.
Having done CI integrations with both, Gerrit's APIs send pre- and post-merge events through the same channel, instead of needing multiple separate listeners like GitHub.