Docker and RPAs Desktop

Hello Guys, I think the most problematic RPA is always the Desktop one, so to solve one of the problems, the cost, I was thinking about to run it in a container docker. I know, I can’t simply configure a regular image like I already have with any distro linux and run, like I do with RPAs with Playwright. I need a UI, something for the desktop application run and can be seem for the RPA.

So I want to know, you guys know something about it? Someone use it?

Adding docker to the mix when doing desktop RPA will make your processes even more complicated.

For sure, but if it is possible is a good way to run more parallel RPAs.

The topic is broad so where do we want to start ?

What do you want to automate ? Is it actual desktop application you want to automate or just a browser ?

If its desktop applications and you where talking about linux, you dont need docker. You can just run multiple virtual X servers and set the dispay for them, which is way easier than managing docker images and how to run same image as multiple instances. There’s xvfb and xnest and probably xwayland has some of support… But that leaves out the issue that what if the application stores some of its data on the disk, then docker approach might come in handy. But that still leaves you in world of hurt on how to prepare headless docker container with virtual desktop and application state that might change from on process to another … Or what if you need to automate a windows application ? At this point, I’d ditch docker and go for full blown virtual machines.

What you are asking sounds tempting for sure but just the orchestration efforts for archiving RPA of Desktop applications is so high without you giving more details, makes me sure you might not have so much experience or knowledge of pitfalls on the topic of desktop / ui automation when it comes to generic topic such as “RPA”.

If its just a browser ? you have multiple solutions to deal with parallerizing browser instances …

What i want to emphasize here is that “RPA” is so broad from different tech pov’s is that that if its possible to run in docker - decision has 2 points: What is the actual process and can it be offloaded to docker at ease. Most of the time, full blown VM’s are WAY MORE EASIER to handle and most of the time, if you are asking this question, the answer is: go with virtual machine - not with docker.

PS. its not my intetion to sound like a*hole.

Don’t worry bro, I really need to give more info.
I’m talking about a real desktop application on a windows. sadly don’t exist on web and don’t work on linux.
For Web RPA we already use the Browser library headless with docker containers.

We already searched for using Windows + Docker, but seams really hard, because that I asked here to see if someone has a better solution, or at the last, if it really works.

Like i tried to say: ditch the idea about docker and look into running full VM with something virtualbox or more heavy duty options like VMware or cloud instances where you have ability to spin up fully customized images.

1 Like

Yep, I think the same, I will just wait to see if someone has a magic solution, otherwise I close this topic.
Thanks :slight_smile:

If you want / need to do native application automation on Windows, set it up on Azure if you can. Azure offers Windows agents for your pipelines; full blown Windows VMs (managed / kept up to date by Azure) with almost no spin-up time since they get pulled from a pull when you run your pipeline job.

Like Jani says, Docker is not a good choice when dealing with Windows. Go Azure if you need cloud infra, otherwise set up a Windows server and run VM software on it if you need containerization.

3 Likes

I agree with the others about virtualization over dockerizarion. It is not impossible to Dockerize automated Windows GUI application testing but it wil require a lot of blood, sweat and tears, as well as time and RAM.
About 2-3 years back I managed to make a Windows Docker image for automated testing of a GUI application but it took many weeks, if not even months, to figure out what all need to be installed on top of the base images to get the GUI app running and to see what happens inside the docker image. But, when I got it running, I learned it will take so much RAM to run it well that we do not have such hardware available that it would make sense to run even one instance of the docker container, not to even mention about more. Because of that I still tried even more tricker way, to run Windows Docker container inside a Windows VM in GKE. That was even more doomed try. I may still have some Dockerfiles laying on some corner of my cloud storage but I would like to save you and others from even trying it out based on those old trials.
But, if you are still interested, read at least this blog post first: https://techcommunity.microsoft.com/t5/containers/nano-server-x-server-core-x-server-which-base-image-is-the-right/ba-p/2835785

2 Likes

Thanks Guys! I think isn’t a good idea to use Windows GUI inside a container, really thanks for your help and explanations!