open-eats / OpenEats

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

Creating a single Dockerfile #85

Closed MrNuggelz closed 7 months ago

MrNuggelz commented 5 years ago

I have created a single Dockerfile to simplify the installation. I also added a Dockerfile which ships with mariadb reducing the installation to only one call.

RyanNoelk commented 5 years ago

Thanks for the PR. This is something I've been thinking about doing for some time. I'll take a look at this over the next few days and let you know if I have any questions.

MrNuggelz commented 5 years ago

I now also added a button to try the project on labs.play-with-docker.com

mcrodrig commented 4 years ago

Any progress on this? I would like to have an unique container if possible.

MrNuggelz commented 4 years ago

The image itself is finished, but still needs to be merged. Until then you can use the image I uploaded to dockerhub: https://hub.docker.com/r/maduvef/openeats Or you can build it yourself using my fork: https://github.com/MrNuggelz/OpenEats/tree/master/alpine

mcrodrig commented 4 years ago

Yes, but it is 10 months old. Any reason for not having merged it? The PR is there for almost a year. Is OpenEats still being developed?

RyanNoelk commented 4 years ago

I haven't merged it yet cause I don't have much time to devote to updating this. I leave this open so that I people what to use the fork that @MrNuggelz created, they can use that.

budda85 commented 4 years ago

Maybe someone can help me.

The image itself is finished, but still needs to be merged. Until then you can use the image I uploaded to dockerhub: https://hub.docker.com/r/maduvef/openeats Or you can build it yourself using my fork: https://github.com/MrNuggelz/OpenEats/tree/master/alpine

I've created the container from dockerhub on my synology NAS. I am using die MariaDB from the NAS. everthing is working but when i visit the website. Django shows me this warning: Invalid HTTP_HOST header: '192.168.0.90:7400'. You may need to add '192.168.0.90' to ALLOWED_HOSTS. Add ALLOWED_HOSTS to my variables has no effect.

hertfelder commented 4 years ago

I really like the separation into three containers. It is clean and "the docker way". I can understand that some people want to have one image only. However, the majority will appreciate the separation, I think.

LukasdeBoer commented 4 years ago

Running this in a single container would make it a lot easier for people to run this on their devices. Not everyone wants to docker-compose on their Synologies :-)

hertfelder commented 4 years ago

You could also use a simple shell script with the respective docker run commands, if you don't want to/can't use docker-compose. But I understand, that one image would be easier to use in this case. Had it running on a raspberry pi before migrating to the production environment and even that worked (after compiling images for armv7 though) :)

CorneliousJD commented 4 years ago

Invalid HTTP_HOST header: '192.168.0.90:7400'. You may need to add '192.168.0.90' to ALLOWED_HOSTS. Add ALLOWED_HOSTS to my variables has no effect.

You need ALLOWED_HOST (no S at the end) -- I ran into this too. Looks like Django calls it HOSTS w/ the S but the OpenEats team uses it w/out the S for the variable.

CorneliousJD commented 4 years ago

The image itself is finished, but still needs to be merged. Until then you can use the image I uploaded to dockerhub: https://hub.docker.com/r/maduvef/openeats Or you can build it yourself using my fork: https://github.com/MrNuggelz/OpenEats/tree/master/alpine

Hey there @MrNuggelz , in the file https://github.com/MrNuggelz/OpenEats/blob/master/alpine/mariadb/Dockerfile

There's somethign wrong, the startup still isn't executable in this one for some reason. When trying to run this I get error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "/startup/start.sh": permission denied": unknown.

I was building an unRAID docker template, got the one withOUT MariaDB baked in up and running, but the one with refuses to run because of this, if you're able to fix that I can update my template and it would open this up for even more users! :)

Thanks in advance.

PS - I tried to submit an issue on that repo but it doesn't look like issue tracking is enabled there.

schizzle commented 4 years ago

The image itself is finished, but still needs to be merged. Until then you can use the image I uploaded to dockerhub: https://hub.docker.com/r/maduvef/openeats Or you can build it yourself using my fork: https://github.com/MrNuggelz/OpenEats/tree/master/alpine

Hey there @MrNuggelz , in the file https://github.com/MrNuggelz/OpenEats/blob/master/alpine/mariadb/Dockerfile

There's somethign wrong, the startup still isn't executable in this one for some reason. When trying to run this I get error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "/startup/start.sh": permission denied": unknown.

I was building an unRAID docker template, got the one withOUT MariaDB baked in up and running, but the one with refuses to run because of this, if you're able to fix that I can update my template and it would open this up for even more users! :)

Thanks in advance.

PS - I tried to submit an issue on that repo but it doesn't look like issue tracking is enabled there.

You need to change the command to ["sh", "-c", "chmod -R +x /startup ; /startup/start.sh"]. The docker image is also slightly behind the repo.

CorneliousJD commented 4 years ago

You need to change the command to ["sh", "-c", "chmod -R +x /startup ; /startup/start.sh"]. The docker image is also slightly behind the repo.

I was actually pulling from his dockerhub to build it in unraid, so I was hoping he would be able to make that modification to trigger a new build on dockerhub for the mariadb tagged release so I could get it out to the masse on unRAID.

Also that dockerfile lets you set a variable for OPENEATS_VERSION to 1.5.1 or even "master" to pull direct from the repo it seems.

CorneliousJD commented 4 years ago

I am still getting the following error for what it's worth. Also, if we do ge this fixed, where is the mariadb database stored at? I would need to map it to persistent storage in unRAID so container restarts/upgrades dont kill it. /usr/bin/docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "/startup/start.sh": permission denied": unknown.

MrNuggelz commented 4 years ago

I have updated the mariadb image, correcting the permissions and building from master.

CorneliousJD commented 4 years ago

I have updated the mariadb image, correcting the permissions and building from master.

I have the regular one working fine when supplying my own database, but the mariadb one is still failing, although getting furhter than before now.

It actually launches the container, and I get

[i] MySQL data directory not found, creating initial DBs
[i] Creating database: openeats
[i] Creating user: openeats with password openeats
--more Note/InnoDB lines here--
ERROR: 1049 Unknown database 'mysql'
2020-05-27 9:36:26 0 [ERROR] Aborting
--more Note/InnoDB lines here--
2020-05-27 9:36:29 0 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
2020-05-27 9:36:30 0 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
2020-05-27 9:36:30 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)")

I'm not sure what's causing this stuff though, again I have it working with providing my own database, but was hoping if I could get this one with MariaDB built in I could open this up for even more people to use that didn't want to bother with a separate DB container.

Anything I can do to help/test just let me know.

bruceschaller commented 3 years ago

Any chance we can move these changes to a LATEST branch and set the current master to a version 1? Onwards and upwards! Good riddance 2020... happy new year!

rustymyers commented 1 year ago

If anyone is interested in these pulls being merged, please let me know. I'm unsure what this will break, but willing to move forward with a single docker file...unless something else is better?