https://prefect.io logo
Title
a

An Hoang

04/27/2020, 2:48 PM
Hello, my work’s IT team is not keen on docker apparently so I can’t run prefect server on work’s machine. Here is what they said, quoted directly since I don’t know much about this stuff. Is there a way to deploy prefect without docker?
X does want to push back because docker is a involved, and has many unsolved aspects since the daemons run as root. It didn’t look like the prefect ui could run in singularity which is the user-space container management thing that they were talking about.
If it is possible to install the prefect ui as a non-docker, either as a library, or on a server. I think that has many fewer concerns from the systems team.
j

Jeremiah

04/27/2020, 2:59 PM
Hi @An Hoang , We use Docker for convenience but each component can be run separately outside of Docker (the UI and Server are packaged in the Core github repo). However, configuration of all services can be pretty complex and we’re not able to support unbundled deploys because they will be different for everyone. However we may look at providing instructions for “building from source” (as it were) for people that want to be adventurous!
a

An Hoang

04/27/2020, 3:03 PM
Hi @Jeremiah I also think Docker is the way to go too. It’s a research institution so there’s just a bit of friction to changes. Can I run the server on a docker-allowed machine and the agent on a docker-banned machine? They’ll be on the same network but different machine. How would they know how to connect with each other? Does the local agent have to be a process running on the same machine as the server? It’s only the agent that needs access to the institution’s internal file system right? Isn’t this the set up for cloud? There must be somewhere I missed in the documentation, if so you can just point me to it 🙂
Trying to build up POC to convince them slowly from on premise to cloud
d

David Ojeda

04/27/2020, 3:32 PM
As someone who has worked before on a research lab; I feel your pain. Many times the IT infrastructure is controlled by people that already have their safe space. For your questions, as a user that has been able to deploy server outside docker-compose but still using docker (through kubernetes): • Can I run the server on a docker-allowed machine and the agent on a docker-banned machine? Yes. You can have any service running on a separate machine. You can look at each Dockerfile for each service to understand the “recipe” to get that service, but it may or may not work smoothly.
• How would they know how to connect with each other? They will only need to know about each others ips through environment variables.
• Does the local agent have to be a process running on the same machine as the server? No. It can even be your personal machine or a server somewhere else.
• Isn’t this the set up for cloud? This is the only question I cannot answer
a

An Hoang

04/27/2020, 3:42 PM
Thank you so much @David Ojeda! Solidarity with you. The upside is I get to learn cool stuff outside of my actual job. Downside is getting things to work without the help of people actually controlling the infrastructure is quite an uphill battle.
j

Jeremiah

04/27/2020, 3:45 PM
Isn’t this the set up for cloud?
Yes 🙂 If possible, you may want to consider signing up for a free Cloud tier - the only requirement there is running an agent (all code and data remains on your infrastructure, but you have no services to manage yourself)
👍 1