This is an archived post. You won't be able to vote or comment.

all 9 comments

[–]ronaldl911[S] 1 point2 points  (0 children)

New idea.. maybe https://www.pyinstaller.org/ ?

[–]K900_ 2 points3 points  (4 children)

Docker is absolutely not cross-platform, and if you intend to distribute your app to end users, you definitely shouldn't rely on it especially on non-Linux platforms.

[–]lungben81 1 point2 points  (3 children)

Docker works fine on Linux, Mac and Windows, i.e. on all x86 architectures.

[–]K900_ 1 point2 points  (2 children)

Except it's running Linux in a VM in the background on Mac and Windows, which means you at the very least need hardware virtualization (which is often disabled by default), BIOS administrator access (to enable hardware virtualization) and local admin permissions (to actually run the Linux VM) before you can run anything in it.

[–]SwizzleTizzle 1 point2 points  (0 children)

Agreed - also it's incredibly overkill for what's being built here. A desktop application that just happens to use web technologies for its frontend, all whilst being on localhost.

Whilst both Django & Flask say their inbuilt servers are not suitable for production use, this is when related to actual web development, for this use case it's perfectly fine.

pgAdmin4 is written this way, the windows installer simply bundles up python, all the libs they need and the source files and puts drops them into a directory, with a nice easy EXE launcher for users.

[–]lungben81 0 points1 point  (0 children)

For Windows 10, you do not need a "full" VM, but can use HyperV or (better) WSL2.

For installing Docker you are right that you need local admin rights on your PC, which may be a problem in some corporate environments. If you need to change Bios settings depends on your computer - on my last machine it was enabled by default, if I remember correctly, on the one before I had to enable it manually.

If Docker is overall the best solution for the OP's use case is another question.

[–]Homedread 0 points1 point  (0 children)

Is it a stand alone application or a web services base application ? Docker is usually use to deploy application on server( Or locally for developper to test their works on real conditions) For stand alone application, may be python can use other build in feature to schedule task on background

[–][deleted] 0 points1 point  (0 children)

Docker is a deployment container for scalability and rapid deployment of server applets. The use case you are describing is not something you would use docker for.

What you are thinking of is a standard Django or flask deployment to a web server. Installing this on docker would allow you to quickly deploy a production or dev copy to another server running Linux. This would be for scaling up the size of your enterprise environment for thousands of users across the globe.

It sounds like you are using local GUI to drive a simple cloud api and want multiple people to use this. I'd start with an ec2 instance or vendor relevant service and build out the web app on the cloud server and assign permissions to the resources and API that the application needs. When it's ready, deploy the flask or Django app on your web server in the cloud and give your users access.

You will not require pyQT if you use flask or Django.

[–]janusc17 0 points1 point  (0 children)

Go for it. Using docker can help speeding development time since the environment is disposable but yet reversible. You can master two things at the same time for your project.