open-eats / OpenEats

:pizza: Self Hosted Recipe Management App :hamburger:
https://open-eats.github.io/
MIT License
669 stars 102 forks source link

Suggestion: Single Docker Container #126

Open CorneliousJD opened 4 years ago

CorneliousJD commented 4 years ago

Right now on dockerhub it looks as though you need three different containers to get this running.

There's many users (myself included) who run Synology or unRAID that would love to get OpenEats setup, but the fact that it currently requires three different containers where almost everything else that has templates for those platforms requires just one container, or at most one container and a database container (MariaDB, or MongoDB, etc).

I'm admittedly not well versed in Docker, but is combining everything into one container to run on those systems possible? Even if it still requires an external database like MariaDB?

I'd love to help get this up and running in the community apps section of unRAID however with the current 3 container setup it's looking like I would end up biting off more than I could chew.

Thanks in advance for the consideration and thanks for the great app! Hoping to be able to put it to full use soon!

CorneliousJD commented 4 years ago

I was able to find this https://github.com/open-eats/OpenEats/pull/85

I've used this to successfully get a LAN-only install up and running on unRAID. I did use version as "master" instead of 1.4.0 and it seems to pull master files from the github branch, this would allow simply restarting the container to give users the latest version from master as well.

I plan on doing some more testing and releasing a tempalte in unraid CA.

WhisperingChaos commented 3 years ago

You might want to consider using sysbox - it offers an image that when executed provides a container that can run other containers within it. sysbox supports preloading Docker images. This preloading method could aggregate the various Openeats images into a single sysbox image while at the same time maintaining its current Docker inspired design: running separate containers, inside the running sysbox container. This single sysbox image can then be deployed like any other Docker image.

Of course you have to determine if another level of indirection offers more value to you than combining the separate Openeats Dockerfiles as defined by #85.