Perhaps the easiest DYI path is to select a commercial garage or sliding gate opener. One that has uses one or two buttons to activate open or close. You first install and get that working reliably to operate the roof. Then you interface INDI with the controller rather than a particular motor. All the interface has to do is close a relay that parallels the controller's normal switch.
You could then try the INDI scripting interface and see how you get along.
A bit expensive but one of the more impressive (industrial strength) DYI installs I have seen is entry #20 at:
www.cloudynights.com/topic/816370-aleko-...-reliable-openclose/
He uses an ASCOM driver and scripts that he offers to share and from which I imagine an INDI solution could be formed.
Some comments from a view of using the rolloffino driver.
It is a DIY solution, both the hardware and any Arduino software changes is up to the user. So should be comfortable making at least minor Arduino code changes and loading them onto the board. One thing to understand is the INDI driver just sends open/close requests and asks are you done yet. It does not know what is going on at the other end. Using a roof controller takes care of stopping the roof when it gets to the end of its run.
I use a Arduino Uno R2 with a relay shield attached on top. They have a new higher performance 3.3V based Uno R3, and it can work with the 5 volt shields. If using a roof controller and you choose a shield that matches the default settings in the Arduino then might not need to make changes just load the example code. One thing nice with the Arduino is that it has been running from year to year without any intervention. Power outages seem to always cause manual intervention except for the Arduino it just reboots restarts and chugs along.
I am not happy with my own install because it does not have soft start/stop.
With a heavy roof it is a bit too rough. Depending on the size of the observatory Aleko offer 3 openers with soft start/stop. The stronger ones were sold out last time I looked.