как пользователь, я голосую за git с PHPшным кодом и основную ветку в нём с тегами-версиями. вытащил гитом нужный тег с версией, запустил скрипт (если нужно) - и всё. ничего лишнего, никаких проблем. многие проекты на PHP так и делают и это прекрасно работает. минимум лишнего. если нужно что-то ещё, юзер сам это наворотит на своём сервере.
@iron_bug соглашусь с решением и еще добавлю, что покупать отдельный сервер, на котором будет разворачиваться docker с моим приложением - стоит дороже, чем купить тариф и тех же РегРу на 20 сайтов и просто в cron поставить консольную команду на git pull определенной ветки.