Guidance needed - When to use Docker and when to install apps as regular apps?

  • Hi


    I'm new to OMV and to docker so I have been trying to educate myself but I have a fundamental question which I haven't found any answer to - when to install an app in docker and when to just install it as a regular app?


    I (think I) understand the basic idea of docker and so I see the benefits for a developer who wants to develop something that works in every Linux environment. But when is it beneficial for a home-server user to do a docker install over a regular install?


    In case it matters, I'll be installing Debian server first and then OVM on top, because I will be trying to install the OS on a mirrored ZFS pool as described here.


    To make it more specific, here's some of the stuff I'm considering installing asap:

    • NextCloud
    • Wireguard
    • Pi-hole + Unbound
    • OnlyOffice
    • MakeMKV
    • Handbrake
    • Bitwarden
    • Jellyfin
    • NGINX reverse proxy
    • UFW
    • Fail2Ban
    • ...

    If anyone would share their wisdom it would be most appreciated. Both specific recommendations to the list above as well as more general recommendations appreciated?


    Thanks in advance!

  • votdev

    Hat das Thema freigeschaltet.
    • Offizieller Beitrag

    I would install everything in docker.

    No issues with dependencies.

    Little risk to break the system.

    You can assign easily what ever port you want.

    You can even assign different IP address (macvlan).

    Easy to restart from scratch if you use docker-compose files (and saved those).


    Why should you use or not use dockers

  • Thanks for your advice and the link. I'll give it a read.

  • While I agree with macom, I'm going to play devil.


    If the abstraction can't be jailed in a tidy manner, I don't use docker. I'm working with a homelab for sensor data and while it's technically "containerable", it becomes curiously buggy due to various system comms/protocols. For instance 1 of the 2 I've tried didn't like SPI and the other didn't like multiple devices on the I²C (although I think that was a parser/software limitation).


    Containers are also a nightmare for any development work at all as adding even a simple custom syntax colouring file can be frustrating, never mind full modules and this could possibly extend to "office" programs as well (not sure though).


    Then there is performance. While you can run a web server in a container on a fancier computer, running one in a container on a cheap VPS/host isn't a great idea and if you had a super-awesome web server, it wouldn't make sense either. Also, I have this ever-running... never-ending... web based "Game ROM/Audio Jukebox" project I started in node.js (4 years ago :-/) that when parsing audio data or hashing checksums it creates such a huge variance in RAM and core usage that there's no real way to scale that in Docker that makes Docker "worth it" (or any containers really).


    But yes, containers are great when you just want to try something out or the amount of configuration to the system could be considerable (I still have Mailu and Gitea under Docker for those reasons... Mailu especially is kind of a beast).

    • Offizieller Beitrag

    I'm working with a homelab for sensor data and while it's technically "containerable", it becomes curiously buggy due to various system comms/protocols. For instance 1 of the 2 I've tried didn't like SPI and the other didn't like multiple devices on the I²C (although I think that was a parser/software limitation).

    containers work just fine when using apps that are somewhat NAS related. If you trying to get sensor data over an i2c bus, I would say that isn't really something that should be done on a NAS.


    Containers are also a nightmare for any development work

    We use containers extensively for dev work at my job. Just saying.


    Then there is performance.

    Containers work just fine on an RPi2. Where are you seeing such a performance hit that it is even noticeable? containers are basically just cgroups. I don't understand why you have so many issues with them. And for a new user that is going to be using apps that work well in containers, why you would try to scare them away from using them by telling them obscure, non-NAS apps have issues??

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • I (think I) understand the basic idea of docker and so I see the benefits for a developer who wants to develop something that works in every Linux environment. But when is it beneficial for a home-server user to do a docker install over a regular install?


    Like macom said, it keeps dependencies inside the container, thus not touching/messing with any of your base install.



    Haven't checked them but if you find one on docker hub you'll be fine. Wish you much fun with your SWAG


    Then there is performance. While you can run a web server in a container on a fancier computer, running one in a container on a cheap VPS/host isn't a great idea and if you had a super-awesome web server, it wouldn't make sense either.


    I'm running containers on a couple of different systems. A Maker Board on the low end and a Xeon on the high end. Neither one of them has issues with docker. One of them has some noticeable workloads to do.


    Also check out some articles like that: https://netflixtechblog.com/th…e-at-netflix-3abfc096781b


    Also, I have this ever-running... never-ending... web based "Game ROM/Audio Jukebox" project I started in node.js (4 years ago :-/) that when parsing audio data or hashing checksums it creates such a huge variance in RAM and core usage that there's no real way to scale that in Docker that makes Docker "worth it" (or any containers really).


    What is that kind of "Game ROM/Audio Jukebox" Project? :D


    Greetings

    David

    "Well... lately this forum has become support for everything except omv" [...] "And is like someone is banning Google from their browsers"


    Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.

    Upload Logfile via WebGUI/CLI
    #openmediavault on freenode IRC | German & English | GMT+1
    Absolutely no Support via PM!

  • Wish you much fun with your SWAG

    Just out of curiosity, what did you mean by that comment? As I am in fact planning to install SWAG, is a particular hard container to get working?

  • Nah. I just thought when I first read that they renamed the container that it were an out of season april fools joke.


    Greetings

    David

    "Well... lately this forum has become support for everything except omv" [...] "And is like someone is banning Google from their browsers"


    Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.

    Upload Logfile via WebGUI/CLI
    #openmediavault on freenode IRC | German & English | GMT+1
    Absolutely no Support via PM!

  • What is that kind of "Game ROM/Audio Jukebox" Project? :D


    Greetings

    David

    It is or was or can be a Ui entirely for kids < 10 that can launch games/music. I finished the Ui in conception of what a kid would use (still needs the meta data junkie stuff for parents), but then back in node when I went to finish it up, I thought to myself what about a kids jukebox?... it's one of those projects.


    The string speed of node makes it addicting to write text parsers, but the Ui is still what interests me the most as there seems to be jack shit for kids (really... there's nothing I've seen). From an adults perspective, the Ui makes nearly no sense so I'm proud of it :-).

  • containers work just fine when using apps that are somewhat NAS related. If you trying to get sensor data over an i2c bus, I would say that isn't really something that should be done on a NAS.

    I'd fully share this view

    And for a new user that is going to be using apps that work well in containers, why you would try to scare them away from using them by telling them obscure, non-NAS apps have issues??

    Exactly

    omv 6.9.6-2 (Shaitan) on RPi CM4/4GB with 64bit Kernel 6.1.21-v8+

    2x 6TB 3.5'' HDDs (CMR) formatted with ext4 via 2port PCIe SATA card with ASM1061R chipset providing hardware supported RAID1


    omv 6.9.3-1 (Shaitan) on RPi4/4GB with 32bit Kernel 5.10.63 and WittyPi 3 V2 RTC HAT

    2x 3TB 3.5'' HDDs (CMR) formatted with ext4 in Icy Box IB-RD3662-C31 / hardware supported RAID1

    For Read/Write performance of SMB shares hosted on this hardware see forum here

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!