I run it with sudo enabled - true story
just give it its own machine and let it check out any code
I PXE boot it from a known image when I feel the need
Same solution here - keep a base diskless image on the server, copy it to the diskless area, pxeboot the machine. Works for Windows too (iscsi).
Could do the same thing on EC2 of course.
Running it remotely on a VM seems like a very sensible option. Just don't give it permission to nuke the remote repository hah (EG don't allow force-push, use protected branches, only allow write access to branches it created)