SSH-доступ и git должны покрывать это, я думаю. В дополнение к тем зависимостям, которые использует ваше приложение, конечно.
Edit:
То есть вы должны иметь возможность войти на свой сервер с помощью ssh, и вы должны иметь возможность выполнять команды на сервере при входе через ssh. Git должен быть установлен на сервере, поскольку Capistrano использует его для проверки вашего кода на пути, по которому вы развертываете свое приложение. Если хотите, ваш git-репозиторий может находиться на другом сервере (например, на github).
Если вы не можете запустить git на своем сервере, см. развертывание с помощью capistrano с удаленным git-репо, но без запуска git на производственном сервере , чтобы узнать, как обойти это ограничение.