Native App vs Docker

I’ve been wondering what are the advantages of a native QNAP app versus the same app run in a Docker container.

For example, have Emby Server installed as a qpkg on my machine, but also set it up via docker just to see how it differed.

Looking for some discussion about the pros/cons of each option.

In general, a stand alone app should have less overhead. It all depends on how it was written and implemented. Running a non-QNAP specific version may give you more flexibility and control over the application. YMMV

Native apps run with admin permissions, so installing apps via docker can have great security benefits.(even more so if apps are web exposed)

2 Likes

I always choose docker over native. Usually better updates, its better security and control and backup and restore is much better and even restoring to another system even is minutes of downtime really.

Native QNAP Apps (QPKG) are installed directly onto the QTS/QuTS hero operating system via the App Center or manual package installation. I personally will use it becasue:

  1. Simple to install (From AppCenter)
  2. Guarantee to run on QNAP platform.
  3. Easier to get support (from here, or from support ticket)

But sometimes it is true the package may publish updates slowly because QA process.

And for docker:

  1. Images are pulled directly from dockerhub or manually built, so the updates are faster.
  2. Sometimes to configure disk/storage space of docker need some knowledge of Containers.
  3. Some learning curve if you plan to passthrough GPU to Docker.

For my life in here, I do release QPKG for some “formal” stuff, and for PoC and tests I will use dockers for partners to run projects. qnapsvd

and in case the small features are running well, maybe we will ask developers to migrate it to formal QPKG features.

1 Like