Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mealie-recipes/mealie
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.7.1
Choose a base ref
...
head repository: mealie-recipes/mealie
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.8.0
Choose a head ref

Commits on Feb 28, 2025

  1. chore(deps): update dependency ruff to v0.9.9 (#5130)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 28, 2025
    Copy the full SHA
    d573a9e View commit details
  2. docs(auto): Update image tag, for release v2.7.1 (#5129)

    Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
    github-actions[bot] and Kuchenpirat authored Feb 28, 2025
    Copy the full SHA
    f3310dd View commit details
  3. fix(deps): update dependency bcrypt to v4.3.0 (#5127)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 28, 2025
    Copy the full SHA
    8250e79 View commit details
  4. Copy the full SHA
    ec1a9d7 View commit details
  5. Copy the full SHA
    b12aea8 View commit details
  6. Copy the full SHA
    9c4afb5 View commit details
  7. Copy the full SHA
    61ae6b3 View commit details
  8. Copy the full SHA
    cfba2ff View commit details
  9. fix(deps): update dependency authlib to v1.5.1 (#5138)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 28, 2025
    Copy the full SHA
    d11bdaf View commit details

Commits on Mar 1, 2025

  1. Copy the full SHA
    17f64a5 View commit details
  2. Copy the full SHA
    38ab8aa View commit details
  3. fix(deps): update dependency fastapi to v0.115.10 (#5139)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 1, 2025
    Copy the full SHA
    c636a4f View commit details
  4. chore(deps): update dependency mkdocs-material to v9.6.6 (#5141)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 1, 2025
    Copy the full SHA
    6381ac4 View commit details
  5. fix(deps): update dependency openai to v1.65.2 (#5147)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 1, 2025
    Copy the full SHA
    25adfe1 View commit details
  6. fix(deps): update dependency fastapi to v0.115.11 (#5150)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 1, 2025
    Copy the full SHA
    000ec94 View commit details

Commits on Mar 2, 2025

  1. Copy the full SHA
    a6fd50b View commit details
  2. fix(deps): update dependency rapidfuzz to v3.12.2 (#5159)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 2, 2025
    Copy the full SHA
    d483da6 View commit details
  3. chore(deps): update dependency pytest to v8.3.5 (#5158)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 2, 2025
    Copy the full SHA
    46d28bd View commit details

Commits on Mar 3, 2025

  1. Copy the full SHA
    5f766a8 View commit details
  2. Copy the full SHA
    ba8b942 View commit details
  3. chore(deps): update dependency mkdocs-material to v9.6.7 (#5163)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 3, 2025
    Copy the full SHA
    c4b26fe View commit details
  4. chore(auto): Update pre-commit hooks (#5167)

    Co-authored-by: boc-the-git <3479092+boc-the-git@users.noreply.github.com>
    github-actions[bot] and boc-the-git authored Mar 3, 2025
    Copy the full SHA
    8b3ff9b View commit details
  5. Copy the full SHA
    a758406 View commit details
  6. Copy the full SHA
    9cf40f8 View commit details
  7. Copy the full SHA
    4081872 View commit details

Commits on Mar 4, 2025

  1. Copy the full SHA
    774b312 View commit details

Commits on Mar 5, 2025

  1. fix(deps): update dependency openai to v1.65.3 (#5180)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 5, 2025
    Copy the full SHA
    c65bd14 View commit details

Commits on Mar 6, 2025

  1. fix(deps): update dependency jinja2 to v3.1.6 [security] (#5183)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 6, 2025
    Copy the full SHA
    232ad84 View commit details
  2. fix(deps): update dependency openai to v1.65.4 (#5182)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 6, 2025
    Copy the full SHA
    e2b5f4d View commit details
  3. Copy the full SHA
    98472ff View commit details

Commits on Mar 7, 2025

  1. Copy the full SHA
    9a469fe View commit details
  2. chore(deps): update dependency ruff to v0.9.10 (#5188)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 7, 2025
    Copy the full SHA
    21278cd View commit details

Commits on Mar 9, 2025

  1. fix(deps): update dependency recipe-scrapers to v15.6.0 (#5198)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 9, 2025
    Copy the full SHA
    28cc6b8 View commit details
  2. Copy the full SHA
    7de4700 View commit details

Commits on Mar 10, 2025

  1. chore(deps): update dependency pylint to v3.3.5 (#5194)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 10, 2025
    Copy the full SHA
    e254dda View commit details
  2. chore(auto): Update pre-commit hooks (#5200)

    Co-authored-by: boc-the-git <3479092+boc-the-git@users.noreply.github.com>
    Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
    3 people authored Mar 10, 2025
    Copy the full SHA
    4ecfd8e View commit details
  3. Copy the full SHA
    ad59e65 View commit details

Commits on Mar 11, 2025

  1. Copy the full SHA
    9e47ade View commit details

Commits on Mar 13, 2025

  1. Copy the full SHA
    72668e2 View commit details
  2. Copy the full SHA
    974d848 View commit details

Commits on Mar 16, 2025

  1. Copy the full SHA
    3b1a628 View commit details

Commits on Mar 17, 2025

  1. feat: OIDC: Call userinfo if no claims found in id token (#5228)

    Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
    cmintey and michael-genson authored Mar 17, 2025
    Copy the full SHA
    d724f40 View commit details
  2. chore(deps): update dependency mkdocs-material to v9.6.9 (#5209)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 17, 2025
    Copy the full SHA
    cdd8e3a View commit details
  3. chore(auto): Update pre-commit hooks (#5229)

    Co-authored-by: boc-the-git <3479092+boc-the-git@users.noreply.github.com>
    Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com>
    3 people authored Mar 17, 2025
    Copy the full SHA
    eca2ba3 View commit details

Commits on Mar 18, 2025

  1. Copy the full SHA
    f467607 View commit details
  2. chore(l10n): New Crowdin updates (#5185)

    Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com>
    hay-kot and Kuchenpirat authored Mar 18, 2025
    Copy the full SHA
    2deb9c2 View commit details
Showing with 10,288 additions and 10,227 deletions.
  1. +1 −1 .devcontainer/devcontainer.json
  2. +0 −2 .dockerignore
  3. +0 −2 .gitignore
  4. +1 −1 .pre-commit-config.yaml
  5. +0 −15 Taskfile.yml
  6. +0 −17 docker/Dockerfile
  7. +3 −3 docs/docs/documentation/getting-started/faq.md
  8. +13 −7 docs/docs/documentation/getting-started/installation/backend-config.md
  9. +1 −1 docs/docs/documentation/getting-started/installation/installation-checklist.md
  10. +1 −1 docs/docs/documentation/getting-started/installation/postgres.md
  11. +1 −1 docs/docs/documentation/getting-started/installation/sqlite.md
  12. +3 −4 frontend/lang/messages/af-ZA.json
  13. +476 −477 frontend/lang/messages/ar-SA.json
  14. +3 −4 frontend/lang/messages/bg-BG.json
  15. +3 −4 frontend/lang/messages/ca-ES.json
  16. +3 −4 frontend/lang/messages/cs-CZ.json
  17. +166 −167 frontend/lang/messages/da-DK.json
  18. +3 −4 frontend/lang/messages/de-DE.json
  19. +1 −2 frontend/lang/messages/el-GR.json
  20. +1 −2 frontend/lang/messages/en-GB.json
  21. +1 −2 frontend/lang/messages/en-US.json
  22. +3 −4 frontend/lang/messages/es-ES.json
  23. +3 −4 frontend/lang/messages/et-EE.json
  24. +3 −4 frontend/lang/messages/fi-FI.json
  25. +3 −4 frontend/lang/messages/fr-BE.json
  26. +3 −4 frontend/lang/messages/fr-CA.json
  27. +2 −3 frontend/lang/messages/fr-FR.json
  28. +737 −738 frontend/lang/messages/gl-ES.json
  29. +3 −4 frontend/lang/messages/he-IL.json
  30. +3 −4 frontend/lang/messages/hr-HR.json
  31. +1 −2 frontend/lang/messages/hu-HU.json
  32. +22 −23 frontend/lang/messages/is-IS.json
  33. +3 −4 frontend/lang/messages/it-IT.json
  34. +3 −4 frontend/lang/messages/ja-JP.json
  35. +1 −2 frontend/lang/messages/ko-KR.json
  36. +3 −4 frontend/lang/messages/lt-LT.json
  37. +3 −4 frontend/lang/messages/lv-LV.json
  38. +1 −2 frontend/lang/messages/nl-NL.json
  39. +3 −4 frontend/lang/messages/no-NO.json
  40. +3 −4 frontend/lang/messages/pl-PL.json
  41. +3 −4 frontend/lang/messages/pt-BR.json
  42. +3 −4 frontend/lang/messages/pt-PT.json
  43. +4 −5 frontend/lang/messages/ro-RO.json
  44. +3 −4 frontend/lang/messages/ru-RU.json
  45. +3 −4 frontend/lang/messages/sk-SK.json
  46. +3 −4 frontend/lang/messages/sl-SI.json
  47. +1 −2 frontend/lang/messages/sr-SP.json
  48. +3 −4 frontend/lang/messages/sv-SE.json
  49. +3 −4 frontend/lang/messages/tr-TR.json
  50. +3 −4 frontend/lang/messages/uk-UA.json
  51. +1 −2 frontend/lang/messages/vi-VN.json
  52. +9 −10 frontend/lang/messages/zh-CN.json
  53. +1 −2 frontend/lang/messages/zh-TW.json
  54. +1 −1 frontend/package.json
  55. +0 −7 frontend/pages/g/_groupSlug/r/_slug/ingredient-parser.vue
  56. +3 −0 mealie/core/exceptions.py
  57. +4 −3 mealie/core/security/providers/openid_provider.py
  58. +4 −4 mealie/lang/messages/da-DK.json
  59. +30 −30 mealie/lang/messages/gl-ES.json
  60. +1 −1 mealie/lang/messages/it-IT.json
  61. +5 −5 mealie/repos/repository_generic.py
  62. +46 −1 mealie/repos/repository_recipes.py
  63. +101 −101 mealie/repos/seed/resources/foods/locales/af-ZA.json
  64. +78 −78 mealie/repos/seed/resources/foods/locales/ar-SA.json
  65. +213 −213 mealie/repos/seed/resources/foods/locales/bg-BG.json
  66. +257 −257 mealie/repos/seed/resources/foods/locales/ca-ES.json
  67. +241 −241 mealie/repos/seed/resources/foods/locales/cs-CZ.json
  68. +30 −30 mealie/repos/seed/resources/foods/locales/da-DK.json
  69. +262 −262 mealie/repos/seed/resources/foods/locales/de-DE.json
  70. +253 −253 mealie/repos/seed/resources/foods/locales/el-GR.json
  71. +17 −17 mealie/repos/seed/resources/foods/locales/en-GB.json
  72. +248 −248 mealie/repos/seed/resources/foods/locales/es-ES.json
  73. +256 −256 mealie/repos/seed/resources/foods/locales/et-EE.json
  74. +249 −249 mealie/repos/seed/resources/foods/locales/fi-FI.json
  75. +245 −245 mealie/repos/seed/resources/foods/locales/fr-BE.json
  76. +244 −244 mealie/repos/seed/resources/foods/locales/fr-CA.json
  77. +244 −244 mealie/repos/seed/resources/foods/locales/fr-FR.json
  78. +184 −184 mealie/repos/seed/resources/foods/locales/gl-ES.json
  79. +262 −262 mealie/repos/seed/resources/foods/locales/he-IL.json
  80. +195 −195 mealie/repos/seed/resources/foods/locales/hr-HR.json
  81. +197 −197 mealie/repos/seed/resources/foods/locales/hu-HU.json
  82. +166 −166 mealie/repos/seed/resources/foods/locales/it-IT.json
  83. +262 −262 mealie/repos/seed/resources/foods/locales/ja-JP.json
  84. +17 −17 mealie/repos/seed/resources/foods/locales/ko-KR.json
  85. +196 −196 mealie/repos/seed/resources/foods/locales/lt-LT.json
  86. +250 −250 mealie/repos/seed/resources/foods/locales/lv-LV.json
  87. +239 −239 mealie/repos/seed/resources/foods/locales/nl-NL.json
  88. +222 −222 mealie/repos/seed/resources/foods/locales/no-NO.json
  89. +249 −249 mealie/repos/seed/resources/foods/locales/pl-PL.json
  90. +235 −235 mealie/repos/seed/resources/foods/locales/pt-BR.json
  91. +253 −253 mealie/repos/seed/resources/foods/locales/pt-PT.json
  92. +244 −244 mealie/repos/seed/resources/foods/locales/ro-RO.json
  93. +250 −250 mealie/repos/seed/resources/foods/locales/ru-RU.json
  94. +204 −204 mealie/repos/seed/resources/foods/locales/sk-SK.json
  95. +253 −253 mealie/repos/seed/resources/foods/locales/sl-SI.json
  96. +232 −232 mealie/repos/seed/resources/foods/locales/sv-SE.json
  97. +193 −193 mealie/repos/seed/resources/foods/locales/tr-TR.json
  98. +262 −262 mealie/repos/seed/resources/foods/locales/uk-UA.json
  99. +159 −159 mealie/repos/seed/resources/foods/locales/zh-CN.json
  100. +124 −124 mealie/repos/seed/resources/foods/locales/zh-TW.json
  101. +2 −2 mealie/repos/seed/resources/labels/locales/ar-SA.json
  102. +1 −1 mealie/repos/seed/resources/labels/locales/gl-ES.json
  103. +30 −30 mealie/repos/seed/resources/units/locales/gl-ES.json
  104. +16 −6 mealie/routes/auth/auth.py
  105. +3 −3 mealie/schema/_mealie/datetime_parse.py
  106. +23 −6 mealie/schema/openai/_base.py
  107. +8 −2 mealie/schema/response/query_filter.py
  108. +0 −21 mealie/scripts/install_model.py
  109. +0 −1 mealie/services/parser_services/crfpp/__init__.py
  110. +0 −69 mealie/services/parser_services/crfpp/pre_processor.py
  111. +0 −63 mealie/services/parser_services/crfpp/processor.py
  112. +0 −38 mealie/services/parser_services/crfpp/tokenizer.py
  113. +0 −266 mealie/services/parser_services/crfpp/utils.py
  114. +107 −34 mealie/services/parser_services/ingredient_parser.py
  115. +11 −7 mealie/services/scraper/scraper_strategies.py
  116. +542 −189 poetry.lock
  117. +4 −3 pyproject.toml
  118. +3 −0 renovate.json
  119. +34 −10 tests/integration_tests/user_recipe_tests/test_recipe_ingredient_parser.py
  120. +13 −6 tests/unit_tests/core/security/providers/test_openid_provider.py
  121. +35 −0 tests/unit_tests/repository_tests/test_pagination.py
  122. +52 −36 tests/unit_tests/test_ingredient_parser.py
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -48,7 +48,7 @@
],
// Use 'onCreateCommand' to run commands at the end of container creation.
// Use 'postCreateCommand' to run commands after the container is created.
"onCreateCommand": "sudo chown -R vscode:vscode /workspaces/mealie/frontend/node_modules && task setup",
"onCreateCommand": "sudo chown -R vscode:vscode /workspaces/mealie/frontend/node_modules /home/vscode/commandhistory && task setup",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
"features": {
2 changes: 0 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -31,6 +31,4 @@ venv
*/mealie/.temp
/mealie/frontend/

model.crfmodel

crowdin.yml
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -157,10 +157,8 @@ dev/data/backups/dev_sample_data*.zip
dev/data/recipes/*
dev/scripts/output/app_routes.py
dev/scripts/output/javascriptAPI/*
mealie/services/scraper/ingredient_nlp/model.crfmodel
dev/code-generation/generated/openapi.json
dev/code-generation/generated/test_routes.py
mealie/services/parser_services/crfpp/model.crfmodel
lcov.info
dev/code-generation/openapi.json

2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ repos:
exclude: ^tests/data/
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.9.7
rev: v0.11.0
hooks:
- id: ruff
- id: ruff-format
15 changes: 0 additions & 15 deletions Taskfile.yml
Original file line number Diff line number Diff line change
@@ -61,26 +61,11 @@ tasks:
- pyproject.toml
- .pre-commit-config.yaml

setup:model:
desc: setup nlp model
vars:
MODEL_URL: https://github.com/mealie-recipes/nlp-model/releases/download/v1.0.0/model.crfmodel
OUTPUT: ./mealie/services/parser_services/crfpp/model.crfmodel
sources:
# using pyproject.toml as the dependency since this should only ever need to run once
# during setup. There is perhaps a better way to do this.
- ./pyproject.toml
generates:
- ./mealie/services/parser_services/crfpp/model.crfmodel
cmds:
- curl -L0 {{ .MODEL_URL }} --output {{ .OUTPUT }}

setup:
desc: setup all dependencies
deps:
- setup:ui
- setup:py
- setup:model

dev:generate:
desc: run code generators
17 changes: 0 additions & 17 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -116,13 +116,6 @@ COPY --from=packages * /dist/
RUN . $VENV_PATH/bin/activate \
&& pip install --require-hashes -r /dist/requirements.txt --find-links /dist

###############################################
# CRFPP Image
###############################################
FROM hkotel/crfpp as crfpp

RUN echo "crfpp-container"

###############################################
# Production Image
###############################################
@@ -145,19 +138,9 @@ RUN apt-get update \
# create directory used for Docker Secrets
RUN mkdir -p /run/secrets

# copy CRF++ and add it to the library path
ENV LD_LIBRARY_PATH=/usr/local/lib
COPY --from=crfpp /usr/local/lib/ /usr/local/lib
COPY --from=crfpp /usr/local/bin/crf_learn /usr/local/bin/crf_learn
COPY --from=crfpp /usr/local/bin/crf_test /usr/local/bin/crf_test

# Copy venv into image. It contains a fully-installed mealie backend and frontend.
COPY --from=venv-builder $VENV_PATH $VENV_PATH


# Grab CRF++ Model Release
RUN python -m mealie.scripts.install_model

VOLUME [ "$MEALIE_HOME/data/" ]
ENV APP_PORT=9000

6 changes: 3 additions & 3 deletions docs/docs/documentation/getting-started/faq.md
Original file line number Diff line number Diff line change
@@ -148,7 +148,7 @@
```shell
docker exec -it mealie bash

python /app/mealie/scripts/reset_locked_users.py
python /opt/mealie/lib/python3.12/site-packages/reset_locked_users.py
```


@@ -161,7 +161,7 @@
```shell
docker exec -it mealie bash

python /app/mealie/scripts/make_admin.py
python /opt/mealie/lib/python3.12/site-packages/make_admin.py
```


@@ -174,7 +174,7 @@
```shell
docker exec -it mealie bash

python /app/mealie/scripts/change_password.py
python /opt/mealie/lib/python3.12/site-packages/mealie/scripts/change_password.py
```


Original file line number Diff line number Diff line change
@@ -108,7 +108,9 @@ For usage, see [Usage - OpenID Connect](../authentication/oidc-v2.md)
| OIDC_REMEMBER_ME | False | Because redirects bypass the login screen, you cant extend your session by clicking the "Remember Me" checkbox. By setting this value to true, a session will be extended as if "Remember Me" was checked |
| OIDC_SIGNING_ALGORITHM | RS256 | The algorithm used to sign the id token (examples: RS256, HS256) |
| OIDC_USER_CLAIM | email | This is the claim which Mealie will use to look up an existing user by (e.g. "email", "preferred_username") |
| OIDC_NAME_CLAIM | name | This is the claim which Mealie will use for the users Full Name |
| OIDC_GROUPS_CLAIM | groups | Optional if not using `OIDC_USER_GROUP` or `OIDC_ADMIN_GROUP`. This is the claim Mealie will request from your IdP and will use to compare to `OIDC_USER_GROUP` or `OIDC_ADMIN_GROUP` to allow the user to log in to Mealie or is set as an admin. **Your IdP must be configured to grant this claim** |
| OIDC_SCOPES_OVERRIDE | None | Advanced configuration used to override the scopes requested from the IdP. **Most users won't need to change this**. At a minimum, 'openid profile email' are required. |
| OIDC_TLS_CACERTFILE | None | File path to Certificate Authority used to verify server certificate (e.g. `/path/to/ca.crt`) |

### OpenAI
@@ -118,13 +120,17 @@ For usage, see [Usage - OpenID Connect](../authentication/oidc-v2.md)
Mealie supports various integrations using OpenAI. For more information, check out our [OpenAI documentation](./open-ai.md).
For custom mapping variables (e.g. OPENAI_CUSTOM_HEADERS) you should pass values as JSON encoded strings (e.g. `OPENAI_CUSTOM_PARAMS='{"k1": "v1", "k2": "v2"}'`)

| Variables | Default | Description |
| ------------------------------------------------- | :-----: | ---------------------------------------------------------------------------------------------------------------------- |
| OPENAI_BASE_URL<super>[&dagger;][secrets]</super> | None | The base URL for the OpenAI API. If you're not sure, leave this empty to use the standard OpenAI platform |
| OPENAI_API_KEY<super>[&dagger;][secrets]</super> | None | Your OpenAI API Key. Enables OpenAI-related features |
| OPENAI_MODEL | gpt-4o | Which OpenAI model to use. If you're not sure, leave this empty |
| OPENAI_WORKERS | 2 | Number of OpenAI workers per request. Higher values may increase processing speed, but will incur additional API costs |
| OPENAI_SEND_DATABASE_DATA | True | Whether to send Mealie data to OpenAI to improve request accuracy. This will incur additional API costs |
| Variables | Default | Description |
| ------------------------------------------------- | :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| OPENAI_BASE_URL<super>[&dagger;][secrets]</super> | None | The base URL for the OpenAI API. If you're not sure, leave this empty to use the standard OpenAI platform |
| OPENAI_API_KEY<super>[&dagger;][secrets]</super> | None | Your OpenAI API Key. Enables OpenAI-related features |
| OPENAI_MODEL | gpt-4o | Which OpenAI model to use. If you're not sure, leave this empty |
| OPENAI_CUSTOM_HEADERS | None | Custom HTTP headers to add to all OpenAI requests. This should generally be left empty unless your custom service requires them |
| OPENAI_CUSTOM_PARAMS | None | Custom HTTP query params to add to all OpenAI requests. This should generally be left empty unless your custom service requires them |
| OPENAI_ENABLE_IMAGE_SERVICES | True | Whether to enable OpenAI image services, such as creating recipes via image. Leave this enabled unless your custom model doesn't support it, or you want to reduce costs |
| OPENAI_WORKERS | 2 | Number of OpenAI workers per request. Higher values may increase processing speed, but will incur additional API costs |
| OPENAI_SEND_DATABASE_DATA | True | Whether to send Mealie data to OpenAI to improve request accuracy. This will incur additional API costs |
| OPENAI_REQUEST_TIMEOUT | 60 | The number of seconds to wait for an OpenAI request to complete before cancelling the request. Leave this empty unless you're running into timeout issues on slower hardware |

### Theming

Original file line number Diff line number Diff line change
@@ -31,7 +31,7 @@ To deploy mealie on your local network, it is highly recommended to use Docker t
We've gone through a few versions of Mealie v1 deployment targets. We have settled on a single container deployment, and we've begun publishing the nightly container on github containers. If you're looking to move from the old nightly (split containers _or_ the omni image) to the new nightly, there are a few things you need to do:

1. Take a backup just in case!
2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v2.7.0`
2. Replace the image for the API container with `ghcr.io/mealie-recipes/mealie:v2.7.1`
3. Take the external port from the frontend container and set that as the port mapped to port `9000` on the new container. The frontend is now served on port 9000 from the new container, so it will need to be mapped for you to have access.
4. Restart the container

Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ PostgreSQL might be considered if you need to support many concurrent users. In
```yaml
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:v2.7.0 # (3)
image: ghcr.io/mealie-recipes/mealie:v2.7.1 # (3)
container_name: mealie
restart: always
ports:
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ SQLite is a popular, open source, self-contained, zero-configuration database th
```yaml
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:v2.7.0 # (3)
image: ghcr.io/mealie-recipes/mealie:v2.7.1 # (3)
container_name: mealie
restart: always
ports:
7 changes: 3 additions & 4 deletions frontend/lang/messages/af-ZA.json
Original file line number Diff line number Diff line change
@@ -646,7 +646,6 @@
"nextStep": "Next step",
"recipe-actions": "Recipe Actions",
"parser": {
"experimental-alert-text": "Mealie uses natural language processing to parse and create units and food items for your recipe ingredients. This feature is experimental and may not always work as expected. If you prefer not to use the parsed results, you can select 'Cancel' and your changes will not be saved.",
"ingredient-parser": "Ingredient Parser",
"explanation": "To use the ingredient parser, click the 'Parse All' button to start the process. Once the processed ingredients are available, you can review the items and verify that they were parsed correctly. The model's confidence score is displayed on the right of the item title. This score is an average of all the individual scores and may not always be completely accurate.",
"alerts-explainer": "Alerts will be displayed if a matching foods or unit is found but does not exists in the database.",
@@ -721,7 +720,7 @@
"backup-restore": "Herlaai vanaf back-up",
"back-restore-description": "Die herstel van hierdie back-up sal alle huidige data in jou databasis en in die data-lêergids oorskryf. {cannot-be-undone} As die herstel suksesvol was, sal jy afgemeld word.",
"cannot-be-undone": "Hierdie aksie kan nie ongedaan gemaak word nie - gebruik met omsigtigheid.",
"postgresql-note": "Gebruik jy PostGreSQL? Lees asseblief eers die {backup-restore-process} voordat jy dit herstel.",
"postgresql-note": "If you are using PostgreSQL, please review the {backup-restore-process} prior to restoring.",
"backup-restore-process-in-the-documentation": "backup/herstelproses in die dokumentasie",
"irreversible-acknowledgment": "Ek verstaan ​​dat hierdie aksie onomkeerbaar en vernietigend is en dataverlies kan veroorsaak",
"restore-backup": "Herlaai back-up"
@@ -1049,8 +1048,8 @@
"foods": {
"merge-dialog-text": "Die kombinasie van die geselekteerde kosse sal die oorspronklike kos en die nuwe kos kombineer. Die oorspronklike kos sal verwyder word en alle verwysings sal opgedateer word om na die nuwe kos te wys.",
"merge-food-example": "Voeg {food1} saam met {food2}",
"seed-dialog-text": "Vul die databasis met kosse in jou taal. Dit skep 200+ algemene kosse wat jy in jou databasis kan gebruik. Die vertalings word deur 'n gemeenskap verskaf.",
"seed-dialog-warning": "Jy het reeds 'n paar items in jou databasis. Hierdie aksie sal nie duplikate versoen nie, jy sal dit met die hand moet bestuur.",
"seed-dialog-text": "Seed the database with foods based on your local language. This will create 200+ common foods that can be used to organize your database. Foods are translated via a community effort.",
"seed-dialog-warning": "You have already have some items in your database. This action will not reconcile duplicates, you will have to manage them manually.",
"combine-food": "Kombineer kos",
"source-food": "Bron voedsel",
"target-food": "Teiken voedsel",
Loading