bobokun Posted May 27, 2020 Share Posted May 27, 2020 (edited) Thank you for the detailed write up. I was trying to test this out and everything is working fine but I noticed it was having issues saving when my ingredients/directions had foreign characters (Chinese characters or emojis). I figured out by changing the database collation to utf8mb4_bin it resolved all the issues but it did not change the table collation if it was created previously. My suggestion is to make the default collation utf8mb4_bin when creating the database in MariaDB. This would save others headache in the future! Hope this helps. Edited May 27, 2020 by bobokun Quote Link to comment
BrambleGB Posted May 27, 2020 Share Posted May 27, 2020 4 hours ago, bobokun said: Thank you for the detailed write up. I was trying to test this out and everything is working fine but I noticed it was having issues saving when my ingredients/directions had foreign characters (Chinese characters or emojis). I figured out by changing the database collation to utf8mb4_bin it resolved all the issues but it did not change the table collation if it was created previously. My suggestion is to make the default collation utf8mb4_bin when creating the database in MariaDB. This would save others headache in the future! Hope this helps. Thanks, I had to do this as well. I believe this is more to do with MariaDB defaults, which this container doesn't change at the moment. Additionally, I had to overwrite /etc/nginx/conf.d with my own one in order to set the client_max_body_size A default of 1MB is kind of very small for images. Quote Link to comment
Kenjilord Posted May 28, 2020 Share Posted May 28, 2020 Hey, I'm a noob when it comes to Databases, so this question might be dumb: I already use the MariaDB from linuxserver for my Nextcloud container. Can I just add a second database to the same MariaDB container? Much appreciated Quote Link to comment
JonathanM Posted May 28, 2020 Share Posted May 28, 2020 1 hour ago, Kenjilord said: Can I just add a second database to the same MariaDB container? Can you, yes. Should you? Well, that depends on your abilities. You may find yourself needing to become much more proficient in databases. If you spin up a second mariadb with a new name, ports and appdata location, then it's trivial to blow away the whole database file and start over. If you use the same database container, and something messes up, you will need to learn how to edit the database to remove the offending tables without disturbing your existing NC database tables. If you enjoy learning and tinkering, use the same DB. If you just want to make it work with the least possible hassle if something goes wrong, set up a new DB. Quote Link to comment
bobokun Posted May 28, 2020 Share Posted May 28, 2020 15 hours ago, BrambleGB said: Thanks, I had to do this as well. I believe this is more to do with MariaDB defaults, which this container doesn't change at the moment. Additionally, I had to overwrite /etc/nginx/conf.d with my own one in order to set the client_max_body_size A default of 1MB is kind of very small for images. How do you go about changing this? Did you bash into the open eats container and edit the default.conf file in /etc/nginx/conf.d? What text editor did you use to do this since the container doesn't seem to have nano installed.. Also will the changes you make stay once the container gets updated? Quote Link to comment
BrambleGB Posted May 28, 2020 Share Posted May 28, 2020 4 minutes ago, bobokun said: How do you go about changing this? Did you bash into the open eats container and edit the default.conf file in /etc/nginx/conf.d? What text editor did you use to do this since the container doesn't seem to have nano installed.. Also will the changes you make stay once the container gets updated? I bashed in, copied the default.conf, and create my own default.conf (with the added client_max_body_size inside the http {} braces). Then I mounted that folder (e.g. /mnt/user/configs/openeats/) to /etc/nginx/conf.d/ and restarted the container. Ideally nginx can be removed, as people already run it separately. You also have to remember to change it if you're running an extra nginx container (e.g. the LetsEncrypt one) 1 Quote Link to comment
CorneliousJD Posted May 28, 2020 Author Share Posted May 28, 2020 4 hours ago, Kenjilord said: Hey, I'm a noob when it comes to Databases, so this question might be dumb: I already use the MariaDB from linuxserver for my Nextcloud container. Can I just add a second database to the same MariaDB container? Much appreciated I actually use the same container, but like @jonathanm said, you could also spin up a second MariaDB instance with a different name and different appdata. I personally just use the same container, I find using a program called HeidiSQL on Windows makes it easy to connect to my MariaDB instance and add/drop databases and tables, and add users if needed too, or Adminer (which is it's own docker container in CA) can be used to do the same as well, it gives you a nice GUI to work with instead of command line for managing the databases. If you're comfortable with a little tinkering and learning along the way, you can use the same MariaDB you use for Nextcloud, otherwise just install the same container again and called it mariadb-openeats and give it an appdata with the same name and you'd be off to the races in no time! Quote Link to comment
bobokun Posted May 28, 2020 Share Posted May 28, 2020 19 minutes ago, BrambleGB said: I bashed in, copied the default.conf, and create my own default.conf (with the added client_max_body_size inside the http {} braces). Then I mounted that folder (e.g. /mnt/user/configs/openeats/) to /etc/nginx/conf.d/ and restarted the container. Ideally nginx can be removed, as people already run it separately. You also have to remember to change it if you're running an extra nginx container (e.g. the LetsEncrypt one) Thank you! I did exactly as you recommended and it worked perfectly. Now I don't have a limit on the image size anymore. Quote Link to comment
Akash Posted May 28, 2020 Share Posted May 28, 2020 Hello, I was able to easily create a Test recipe where everything was written as "test". However, when i started entering longer recipes with 1/2 symbols it just hangs when i click save and it never saves. Do i need to convert the database to utf8mb4_bin? not sure how to do that with MariaDB. thanks! Quote Link to comment
CorneliousJD Posted May 28, 2020 Author Share Posted May 28, 2020 48 minutes ago, Akash said: Hello, I was able to easily create a Test recipe where everything was written as "test". However, when i started entering longer recipes with 1/2 symbols it just hangs when i click save and it never saves. Do i need to convert the database to utf8mb4_bin? not sure how to do that with MariaDB. thanks! Is your ALLOWED_HOST variable set to *? If not set it back to * and try again, also see known issues about linked recipies as well, it is known to hang currently when trying to link a recipe. 1/2 is supported just fine but ½ (the actual symbol) is not. e.g. the following are fine 0.5 cup water 1/2 cup water the following is NOT ½ cup water The last one will not work becuase it cannot proccess that as a proper quantity. Quote Link to comment
repomanz Posted May 29, 2020 Share Posted May 29, 2020 Hey dev - any future plans to roll in the db / setup within same container? Quote Link to comment
CorneliousJD Posted May 29, 2020 Author Share Posted May 29, 2020 (edited) 5 minutes ago, repomanz said: Hey dev - any future plans to roll in the db / setup within same container? I am not the dev, see first post that describes this request already The dev has already touched on working on that but it's still not working correctly at this time. I would just recommend biting the bullet and firing up a MariaDB container, it's not too tough to do. Edited May 29, 2020 by CorneliousJD Quote Link to comment
BrambleGB Posted May 29, 2020 Share Posted May 29, 2020 (edited) Btw @CorneliousJD, you are using a rather old build of the UI and API (pre december 2018), which is causing the admin page issue. It was fixed by the author on 31 Dec 2018 (see https://github.com/open-eats/OpenEats/issues/74#issuecomment-447832673) Even though your docker file says it pulls from master, it hasn't been rebuilt in a long time. The nginx, node and yarn versions are also quite old, and all the custom setup in your dockerfile can be replaced by simply apk add --update nodejs apk add --update yarn As the code itself also uses somewhat outdated packages, I had to fork it, update it and make my own dockerfile based off it. It also ended up saving about 50MB on the built image. Edited May 29, 2020 by BrambleGB Quote Link to comment
CorneliousJD Posted May 29, 2020 Author Share Posted May 29, 2020 3 hours ago, BrambleGB said: Btw @CorneliousJD, you are using a rather old build of the UI and API (pre december 2018), which is causing the admin page issue. It was fixed by the author on 31 Dec 2018 (see https://github.com/open-eats/OpenEats/issues/74#issuecomment-447832673) Even though your docker file says it pulls from master, it hasn't been rebuilt in a long time. The nginx, node and yarn versions are also quite old, and all the custom setup in your dockerfile can be replaced by simply apk add --update nodejs apk add --update yarn As the code itself also uses somewhat outdated packages, I had to fork it, update it and make my own dockerfile based off it. It also ended up saving about 50MB on the built image. Interesting, I guess I'm not sure why it would be pulling such an old build when it's supposed to pull from master. Mind sharing your dockerhub repo? I can change my pull to that and if it works successfully I can just update the template in CA to pull from yours instead Quote Link to comment
BrambleGB Posted May 29, 2020 Share Posted May 29, 2020 6 hours ago, CorneliousJD said: Interesting, I guess I'm not sure why it would be pulling such an old build when it's supposed to pull from master. Mind sharing your dockerhub repo? I can change my pull to that and if it works successfully I can just update the template in CA to pull from yours instead Sorry, just got around to it. https://hub.docker.com/repository/docker/bramblegb/openeats/general https://github.com/jzyrobert/openeats-docker Do note that this is based off a personal fork right now, not the original one. Quote Link to comment
w^w Posted May 31, 2020 Share Posted May 31, 2020 On 5/29/2020 at 1:39 AM, CorneliousJD said: Is your ALLOWED_HOST variable set to *? If not set it back to * and try again, also see known issues about linked recipies as well, it is known to hang currently when trying to link a recipe. 1/2 is supported just fine but ½ (the actual symbol) is not. e.g. the following are fine 0.5 cup water 1/2 cup water the following is NOT ½ cup water The last one will not work becuase it cannot proccess that as a proper quantity. Hi @CorneliousJD. If you set openeats database collation to "utf8_general_ci" you can use "½ cup water". Quote Link to comment
CorneliousJD Posted June 1, 2020 Author Share Posted June 1, 2020 On 5/29/2020 at 2:58 PM, BrambleGB said: Sorry, just got around to it. https://hub.docker.com/repository/docker/bramblegb/openeats/general https://github.com/jzyrobert/openeats-docker Do note that this is based off a personal fork right now, not the original one. Thanks! Do you happen to know why the other one wasn't actually pulling from an updated master file? I can't seem to figure that out. I'd like to fork just the dockerfile if I can and not have to maintain a separate OpenEats repo itself. On 5/31/2020 at 12:22 PM, w^w said: Hi @CorneliousJD. If you set openeats database collation to "utf8_general_ci" you can use "½ cup water". Thanks. Although I do not believe the serving size changes will be able to parse that character and change it accordingly? If it does great, otherwise you would still need to stick with 1/2 anyways. Quote Link to comment
itlists Posted June 4, 2020 Share Posted June 4, 2020 Digging the app! Thanks very much. Is there a way to disable or make optional some of the required fields when creating a recipe? eg: prep time, cooking time, etc. I don't care to put those in every time Thanks! Quote Link to comment
Thorsten Posted June 4, 2020 Share Posted June 4, 2020 Thanks for the template it is very good and works so far. But I have one question: The changeover to German with the variable NODE_LOCALE=de doesn't work. It is always English. What am I doing wrong? API_PORT=8000 NODE_LOCALE=de NODE_VERSION=8.11.1 HOSTNAME=d9526bc81b9f YARN_VERSION=1.5.1 SHLVL=1 HOME=/root Quote Link to comment
CorneliousJD Posted June 5, 2020 Author Share Posted June 5, 2020 18 hours ago, itlists said: Digging the app! Thanks very much. Is there a way to disable or make optional some of the required fields when creating a recipe? eg: prep time, cooking time, etc. I don't care to put those in every time Thanks! That would be something you'd need to check in with the OpenEats developers themselves on to see if it's soemthing that can easily be modified somewhere. I don't have a way to set that though from the container side personally, sorry! 16 hours ago, Thorsten said: Thanks for the template it is very good and works so far. But I have one question: The changeover to German with the variable NODE_LOCALE=de doesn't work. It is always English. What am I doing wrong? That's odd, I never tried another langauge before because I don't know any, but the NODE_LOCALE variable was taken directly from here: https://openeats.readthedocs.io/en/feature-doc-update/Setting_up_env_file/ (see the very bottom) Also the Dockerfile that this is built from also includes the NODE_LOCALE variable so it should be working. Does any other language work when you try to change it to anything other than English? Or does it always show as English? 1 Quote Link to comment
Civrock Posted June 6, 2020 Share Posted June 6, 2020 On 5/28/2020 at 7:48 AM, BrambleGB said: I bashed in, copied the default.conf, and create my own default.conf (with the added client_max_body_size inside the http {} braces). Then I mounted that folder (e.g. /mnt/user/configs/openeats/) to /etc/nginx/conf.d/ and restarted the container. Ideally nginx can be removed, as people already run it separately. You also have to remember to change it if you're running an extra nginx container (e.g. the LetsEncrypt one) On 5/28/2020 at 8:08 AM, bobokun said: Thank you! I did exactly as you recommended and it worked perfectly. Now I don't have a limit on the image size anymore. Can either of you, or anyone for that matter, provide a step by step guide on how to bash in and made these modifications? I am pretty new to using linux so the commands are kinda foreign to me. I found the relvant "client_max_body_size" within my letsencrypt docker but I cannot figure out how to make it happen in this container. Quote Link to comment
Thorsten Posted June 6, 2020 Share Posted June 6, 2020 18 hours ago, CorneliousJD said: Also the Dockerfile that this is built from also includes the NODE_LOCALE variable so it should be working. Does any other language work when you try to change it to anything other than English? Or does it always show as English? Yes, English is always shown even if I try the other two languages French and Spanish. Also when I rename the de.json file under locales to en.json for the English language file. I tried these changes directly in the container. But nothing helps. Quote Link to comment
BrambleGB Posted June 6, 2020 Share Posted June 6, 2020 On 6/1/2020 at 8:15 PM, CorneliousJD said: Thanks! Do you happen to know why the other one wasn't actually pulling from an updated master file? I can't seem to figure that out. I'd like to fork just the dockerfile if I can and not have to maintain a separate OpenEats repo itself. You probably haven't rebuild the container from scratch, and it was pulling it from cache. You can try using docker build with --no-cache --pull I believe the NODE_LOCALE fix would also require a rebuild? Since the environment variables are captured by webpack at build time, which then isn't updated if the user changes it. 10 hours ago, Civrock said: Can either of you, or anyone for that matter, provide a step by step guide on how to bash in and made these modifications? I am pretty new to using linux so the commands are kinda foreign to me. I found the relvant "client_max_body_size" within my letsencrypt docker but I cannot figure out how to make it happen in this container. 1. Create the folder where you want to put the config file. I will use "/mnt/user/configs/openeats" Open the unraid console and type "mkdir -p FOLDER_NAME" 2. Create the "default.conf" file inside that folder. In the unraid console, type "touch FOLDER_NAME/default.conf" 3. Copy my current configuration file from https://pastebin.com/CaPikhGr to a text editor and set the client_max_body_size (im using 40MB for no reason) 4. Copy the content to the default.conf file you created. You can use vi, or echo, or cat. Quick way with echo is running the command "echo "PASTE THE CONTENT HERE, DON'T FORGET QUOTATION MARKS" > FOLDER_NAME/default.conf" 5. Edit the openeats container, select "Add another Path, Port, Variable, Label or Device", choose path. Name doesn't matter, container path is "/etc/nginx/conf.d/", and host path is "FOLDER_NAME" 6. Restart the container and the new configuration should work. You may also have to edit the LetsEncrypt configuration, but there are other tutorials for that. 1 1 Quote Link to comment
BrambleGB Posted June 6, 2020 Share Posted June 6, 2020 6 hours ago, Thorsten said: Yes, English is always shown even if I try the other two languages French and Spanish. Also when I rename the de.json file under locales to en.json for the English language file. I tried these changes directly in the container. But nothing helps. I was able to get it working in German (see attached image). I am using my own dockerfile though and had to rebuild the image with NODE_LOCALE=de Let me know if you need help with that, or I can push my own forked version for you. Quote Link to comment
Civrock Posted June 6, 2020 Share Posted June 6, 2020 3 hours ago, BrambleGB said: You probably haven't rebuild the container from scratch, and it was pulling it from cache. You can try using docker build with --no-cache --pull I believe the NODE_LOCALE fix would also require a rebuild? Since the environment variables are captured by webpack at build time, which then isn't updated if the user changes it. 1. Create the folder where you want to put the config file. I will use "/mnt/user/configs/openeats" Open the unraid console and type "mkdir -p FOLDER_NAME" 2. Create the "default.conf" file inside that folder. In the unraid console, type "touch FOLDER_NAME/default.conf" 3. Copy my current configuration file from https://pastebin.com/CaPikhGr to a text editor and set the client_max_body_size (im using 40MB for no reason) 4. Copy the content to the default.conf file you created. You can use vi, or echo, or cat. Quick way with echo is running the command "echo "PASTE THE CONTENT HERE, DON'T FORGET QUOTATION MARKS" > FOLDER_NAME/default.conf" 5. Edit the openeats container, select "Add another Path, Port, Variable, Label or Device", choose path. Name doesn't matter, container path is "/etc/nginx/conf.d/", and host path is "FOLDER_NAME" 6. Restart the container and the new configuration should work. You may also have to edit the LetsEncrypt configuration, but there are other tutorials for that. Thank you so much for this! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.