Log in

View Full Version : Docker for FRC - Better Environment Setup


Conor Ryan
11-11-2016, 11:02
So one of my biggest complaints is getting software installed and rolled out to a team. I think it is a major barrier to entry and many teams set stuff up incorrectly the first time. There has got to be a better solution to get teams set up quickly and correctly.

Has anybody attempted to set up a docker (http://www.docker.com/what-docker) style container that can set any team up with a ready to go in a windows environment?


Programs wishlist include:
-Java
-Eclipse (both Java and C++ set up)
-WPI lib
-RobotBuilder
-GRIP
-FRC Update Suite
-SmartDashboard

-Labview?

jreneew2
11-11-2016, 11:16
I think this is a neat idea. I'm not sure about packaging national instruments software like that though. There is probably some restrictive licensing with their software especially for FRC teams.

I've never used docker, but it seems like a good idea especially when you get a new laptop or want to roll out lots of laptops for a big software team.

virtuald
11-11-2016, 11:32
Docker is really great for command-line/server apps, traditionally has been not so great for GUI apps (though, perhaps they've changed that for Docker for Windows). My sense is that it would work best for hosting the FRC-specific C++ compilers in an easy to use way (great for a CI server), as opposed to the entire environment.

Licensing for NI products will be a problem also.

Give it a shot, let us know how it works out.

marshall
11-11-2016, 11:39
Oddly enough we're looking at this for use with our OpenCV vision systems. Kinda neat idea. Definitely think this is the future of software development given how complex setting up build environments can be.

Doug Frisk
11-11-2016, 11:41
So one of my biggest complaints is getting software installed and rolled out to a team. I think it is a major barrier to entry and many teams set stuff up incorrectly the first time. There has got to be a better solution to get teams set up quickly and correctly.

Has anybody attempted to set up a docker (http://www.docker.com/what-docker) style container that can set any team up with a ready to go in a windows environment?


Programs wishlist include:
-Java
-Eclipse (both Java and C++ set up)
-WPI lib
-RobotBuilder
-GRIP
-FRC Update Suite
-SmartDashboard

-Labview?

There's already something similar to that in the Microsoft environment, App-V. The problem with that though is that the licensing is prohibitively restrictive. In windows 10, it's only available in the Windows 10 Student and Enterprise editions. There are App-V clients available on the Windows 8 and 7 environments, but the way it's licensed I doubt it would work in FIRST.

Altiris had a software virtualization solution that was similar, but I don't think the SVS team survived the Symantec buyout and I think the last supported client was on Windows 7.

Conor Ryan
11-11-2016, 12:17
I think I might give it a shot with some people on our team. We'll do other stuff when we get better at it but to start I think this would be the way to start:
-Java
-Eclipse
-Github
-WPIlib
-GRIP

MrRoboSteve
11-11-2016, 12:51
Windows has native tooling that can help you with this. Here's one approach:

1. Build a Win10 anniversary edition WIM that targets your machines, with everything that can be installed in audit mode
2. Install using the WIM
3. Use the new Powershell PackageManagement (https://blogs.technet.microsoft.com/packagemanagement/2015/04/28/introducing-packagemanagement-in-windows-10/) tooling to install stuff from Chocolatey
4. Hand install stuff anything that can't be done another way

It would be interesting to see which of the FRC specific installs could be automated through Chocolatey.

tkchan
08-12-2016, 18:49
Similar situation here, given that different students has different machines at home, we opted for the route of just using a semi-custom VM running on top of VMWare Workstation Player (12.5) [We started with Virtual Box but one of our older desktop were having some really weird problem running the VM in it so we ended up redoing the VM for VMWare]. Our VM is Ubuntu 14.04 LT running Eclipse MARS 2, Java 8, gcc/g++ and full WPI toolchain.

We are still having to deal with not having enough working/workable machines when we have 10 kids showing up for programming lessons and we have 2.5 working laptops and 3 desktops. So ideally if we can get into a full Docker Stack, then that would open up to a ton of the free IDE on the cloud situation (i.e. Codenvy.com uses a semi-custom version of Eclipse Che and would be an ideal candidate for us). If we can go that route, then we just need to get 10 chrome/chromebook for our students and they can keep working in the same exact environment on their own when they're home.

So if anyone is working on a Docker Stack for this, I would be more then happy to help in anyway possible.