Merge branch 'mealie-next' into mealie-next

This commit is contained in:
Tempest 2025-08-06 11:35:30 -05:00 committed by GitHub
commit 2587380898
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 113 additions and 109 deletions

View file

@ -1,5 +1,8 @@
# Installing with PostgreSQL
!!! Warning
When upgrading postgresql major versions, manual steps are required [Postgres#37](https://github.com/docker-library/postgres/issues/37).
PostgreSQL might be considered if you need to support many concurrent users. In addition, some features are only enabled on PostgreSQL, such as fuzzy search.
**For Environment Variable Configuration, see** [Backend Configuration](./backend-config.md)
@ -38,7 +41,7 @@ services:
postgres:
container_name: postgres
image: postgres:15
image: postgres:17
restart: always
volumes:
- mealie-pgdata:/var/lib/postgresql/data
@ -46,6 +49,7 @@ services:
POSTGRES_PASSWORD: mealie
POSTGRES_USER: mealie
PGUSER: mealie
POSTGRES_DB: mealie
healthcheck:
test: ["CMD", "pg_isready"]
interval: 30s

View file

@ -553,8 +553,8 @@
"boston lettuce": {
"aliases": [],
"description": "",
"name": "boston lettuce",
"plural_name": "boston lettuces"
"name": "Laitue",
"plural_name": "Laitues"
},
"kohlrabi": {
"aliases": [],
@ -571,8 +571,8 @@
"delicata squash": {
"aliases": [],
"description": "",
"name": "delicata squash",
"plural_name": "delicata squashes"
"name": "Courge delicata",
"plural_name": "Courges delicata"
},
"frisee": {
"aliases": [],
@ -583,8 +583,8 @@
"anaheim pepper": {
"aliases": [],
"description": "",
"name": "anaheim pepper",
"plural_name": "anaheim peppers"
"name": "Piment d'Anaheim",
"plural_name": "Piments d'Anaheim"
},
"cres": {
"aliases": [],
@ -601,8 +601,8 @@
"arbol chile pepper": {
"aliases": [],
"description": "",
"name": "arbol chile pepper",
"plural_name": "arbol chile peppers"
"name": "Piment de árbol",
"plural_name": "Piments de árbol"
},
"golden beet": {
"aliases": [],
@ -613,8 +613,8 @@
"pea shoot": {
"aliases": [],
"description": "",
"name": "pea shoot",
"plural_name": "pea shoots"
"name": "Micro-pousse de pois",
"plural_name": "Micro-pousses de pois"
},
"alfalfa": {
"aliases": [],
@ -701,8 +701,8 @@
"craisin": {
"aliases": [],
"description": "",
"name": "craisin",
"plural_name": "craisins"
"name": "Canneberge séchée",
"plural_name": "Canneberges séchées"
},
"pear": {
"aliases": [],
@ -797,8 +797,8 @@
"sultana": {
"aliases": [],
"description": "",
"name": "sultana",
"plural_name": "sultanas"
"name": "Raisin blanc",
"plural_name": "Raisins blancs"
},
"passion fruit": {
"aliases": [],
@ -846,7 +846,7 @@
"aliases": [],
"description": "",
"name": "melon miel",
"plural_name": "honeydew melons"
"plural_name": "Melons miel"
},
"dried fruit": {
"aliases": [],
@ -929,8 +929,8 @@
"mixed fruit": {
"aliases": [],
"description": "",
"name": "mixed fruit",
"plural_name": "mixed fruits"
"name": "Mélange de fruits",
"plural_name": "Mélange de fruits"
},
"asian pear": {
"aliases": [],
@ -947,14 +947,14 @@
"young coconut": {
"aliases": [],
"description": "",
"name": "young coconut",
"plural_name": "young coconuts"
"name": "Noix de coco jeune",
"plural_name": "Noix de coco jeunes"
},
"kaffir lime": {
"aliases": [],
"description": "",
"name": "combava",
"plural_name": "kaffir limes"
"plural_name": "Combava"
},
"star fruit": {
"aliases": [],
@ -978,19 +978,19 @@
"aliases": [],
"description": "",
"name": "purée de châtaigne",
"plural_name": "chestnut purees"
"plural_name": "Purées de châtaigne"
},
"prickly pear": {
"aliases": [],
"description": "",
"name": "prickly pear",
"plural_name": "prickly pears"
"name": "Figue de Barbarie",
"plural_name": "Figues de Barbarie"
},
"calamansi": {
"aliases": [],
"description": "",
"name": "calamansi",
"plural_name": "calamansis"
"name": "Citron des Philippines",
"plural_name": "Citrons des Philippines"
},
"yuzu": {
"aliases": [],
@ -1013,8 +1013,8 @@
"mixed peel": {
"aliases": [],
"description": "",
"name": "mixed peel",
"plural_name": "mixed peels"
"name": "Écorces d'agrumes confits",
"plural_name": "Écorces d'agrumes confits"
},
"kokum": {
"aliases": [],
@ -1025,8 +1025,8 @@
"tangelo": {
"aliases": [],
"description": "",
"name": "tangelo",
"plural_name": "tangeloes"
"name": "Tangelo",
"plural_name": "tangelos"
},
"dried lime": {
"aliases": [],
@ -7689,14 +7689,14 @@
"chocolate chip": {
"aliases": [],
"description": "",
"name": "chocolate chip",
"plural_name": "chocolate chips"
"name": "pépite de chocolat",
"plural_name": "pépites de chocolat"
},
"dark chocolate chip": {
"aliases": [],
"description": "",
"name": "dark chocolate chip",
"plural_name": "dark chocolate chips"
"name": "pépite de chocolat noir",
"plural_name": "pépites de chocolat noir"
},
"whole-wheat flour": {
"aliases": [
@ -7815,8 +7815,8 @@
"rice flour": {
"aliases": [],
"description": "",
"name": "rice flour",
"plural_name": "rice flours"
"name": "farine de riz",
"plural_name": "farines de riz"
},
"desiccated coconut": {
"aliases": [],
@ -8545,11 +8545,11 @@
},
"Rice Krispie Cereal": {
"aliases": [
"Rice Krispie"
"Rice Krispies"
],
"description": "",
"name": "Rice Krispie Cereal",
"plural_name": "Rice Krispie Cereal"
"name": "Céréale Rice Krispies",
"plural_name": "Céréale Rice Krispies"
},
"quinoa": {
"aliases": [],
@ -8746,7 +8746,7 @@
"black rice": {
"aliases": [],
"description": "",
"name": "black rice",
"name": "riz noir",
"plural_name": "black rices"
},
"yellow rice": {
@ -13878,8 +13878,8 @@
"dark chocolate": {
"aliases": [],
"description": "",
"name": "dark chocolate",
"plural_name": "dark chocolates"
"name": "chocolat noir",
"plural_name": "chocolats noirs"
},
"dark cocoa": {
"aliases": [],
@ -13890,8 +13890,8 @@
"chocolate": {
"aliases": [],
"description": "",
"name": "chocolate",
"plural_name": "chocolates"
"name": "chocolat",
"plural_name": "chocolats"
},
"graham cracker": {
"aliases": [],
@ -13908,14 +13908,14 @@
"marshmallow": {
"aliases": [],
"description": "",
"name": "marshmallow",
"plural_name": "marshmallows"
"name": "chamallow",
"plural_name": "chamallows"
},
"mini arshmallow": {
"aliases": [],
"description": "",
"name": "mini arshmallow",
"plural_name": "mini marshmallows"
"plural_name": "mini chamallows"
},
"applesauce": {
"aliases": [],
@ -13926,8 +13926,8 @@
"white chocolate": {
"aliases": [],
"description": "",
"name": "white chocolate",
"plural_name": "white chocolates"
"name": "chocolat blanc",
"plural_name": "chocolats blancs"
},
"oreo": {
"aliases": [],
@ -14319,8 +14319,8 @@
"chocolate powder": {
"aliases": [],
"description": "",
"name": "chocolate powder",
"plural_name": "chocolate powders"
"name": "chocolat en poudre",
"plural_name": "chocolat en poudre"
},
"sponge cake": {
"aliases": [],
@ -14343,8 +14343,8 @@
"licorice": {
"aliases": [],
"description": "",
"name": "licorice",
"plural_name": "licorices"
"name": "réglisse",
"plural_name": "réglisses"
},
"plum jam": {
"aliases": [],

View file

@ -246,8 +246,8 @@
"new potato": {
"aliases": [],
"description": "",
"name": "new potato",
"plural_name": "new potatoes"
"name": "pataca nova",
"plural_name": "patacas novas"
},
"summer squash": {
"aliases": [
@ -755,14 +755,14 @@
"plum": {
"aliases": [],
"description": "",
"name": "plum",
"plural_name": "plums"
"name": "ameixa",
"plural_name": "ameixas"
},
"fig": {
"aliases": [],
"description": "",
"name": "fig",
"plural_name": "figs"
"name": "figo",
"plural_name": "figos"
},
"apricot": {
"aliases": [],
@ -773,8 +773,8 @@
"currant": {
"aliases": [],
"description": "",
"name": "currant",
"plural_name": "currants"
"name": "grosella",
"plural_name": "grosellas"
},
"mandarin": {
"aliases": [],
@ -785,8 +785,8 @@
"prune": {
"aliases": [],
"description": "",
"name": "prune",
"plural_name": "prunes"
"name": "ameixa seca",
"plural_name": "ameixas secas"
},
"cantaloupe": {
"aliases": [],
@ -815,26 +815,26 @@
"tamarind": {
"aliases": [],
"description": "",
"name": "tamarind",
"plural_name": "tamarinds"
"name": "tamarindo",
"plural_name": "tamarindos"
},
"nectarine": {
"aliases": [],
"description": "",
"name": "nectarine",
"plural_name": "nectarines"
"name": "nectarina",
"plural_name": "nectarinas"
},
"dried fig": {
"aliases": [],
"description": "",
"name": "dried fig",
"plural_name": "dried figs"
"name": "figo seco",
"plural_name": "figos secos"
},
"chestnut": {
"aliases": [],
"description": "",
"name": "chestnut",
"plural_name": "chestnuts"
"name": "castaña",
"plural_name": "castañas"
},
"meyer lemon": {
"aliases": [],
@ -857,20 +857,20 @@
"clementine": {
"aliases": [],
"description": "",
"name": "clementine",
"plural_name": "clementines"
"name": "clementina",
"plural_name": "clementinas"
},
"persimmon": {
"aliases": [],
"description": "",
"name": "persimmon",
"plural_name": "persimmons"
"name": "caqui",
"plural_name": "caquis"
},
"melon": {
"aliases": [],
"description": "",
"name": "melon",
"plural_name": "melons"
"name": "melón",
"plural_name": "melóns"
},
"tangerine": {
"aliases": [],
@ -887,8 +887,8 @@
"dried apple": {
"aliases": [],
"description": "",
"name": "dried apple",
"plural_name": "dried apples"
"name": "mazá seca",
"plural_name": "mazás secas"
},
"quince": {
"aliases": [],
@ -899,8 +899,8 @@
"guava": {
"aliases": [],
"description": "",
"name": "guava",
"plural_name": "guavas"
"name": "goiaba",
"plural_name": "goiabas"
},
"banana chip": {
"aliases": [],
@ -1043,8 +1043,8 @@
"sweet lime": {
"aliases": [],
"description": "",
"name": "sweet lime",
"plural_name": "sweet limes"
"name": "lima doce",
"plural_name": "limas doces"
},
"custard-apple": {
"aliases": [],
@ -1157,8 +1157,8 @@
"loquat": {
"aliases": [],
"description": "",
"name": "loquat",
"plural_name": "loquats"
"name": "néspera",
"plural_name": "nésperas"
},
"crabapple": {
"aliases": [],
@ -1251,8 +1251,8 @@
"portobello mushroom": {
"aliases": [],
"description": "",
"name": "portobello mushroom",
"plural_name": "portobello mushrooms"
"name": "cogumelo portobello",
"plural_name": "cogumelos portobello"
},
"wild mushroom": {
"aliases": [],
@ -1453,8 +1453,8 @@
"strawberry": {
"aliases": [],
"description": "",
"name": "strawberry",
"plural_name": "strawberries"
"name": "amorodo",
"plural_name": "amorodos"
},
"blueberry": {
"aliases": [],
@ -1727,8 +1727,8 @@
"almond": {
"aliases": [],
"description": "",
"name": "almond",
"plural_name": "almonds"
"name": "améndoa",
"plural_name": "améndoas"
},
"sesame seed": {
"aliases": [],
@ -1799,8 +1799,8 @@
"sunflower seed": {
"aliases": [],
"description": "",
"name": "sunflower seed",
"plural_name": "sunflower seeds"
"name": "semente de xirasol",
"plural_name": "sementes de xirasol"
},
"macadamia": {
"aliases": [],
@ -2202,7 +2202,7 @@
"aliases": [],
"description": "",
"name": "manchego",
"plural_name": "manchegoes"
"plural_name": "manchegos"
},
"italian cheese blend": {
"aliases": [],
@ -2711,8 +2711,8 @@
"margarine": {
"aliases": [],
"description": "",
"name": "margarine",
"plural_name": "margarines"
"name": "margarina",
"plural_name": "margarinas"
},
"creme fraiche": {
"aliases": [],
@ -2753,8 +2753,8 @@
"dulce de leche": {
"aliases": [],
"description": "",
"name": "dulce de leche",
"plural_name": "dulce de leche"
"name": "doce de leite",
"plural_name": "doces de leite"
},
"custard": {
"aliases": [],
@ -2777,14 +2777,14 @@
"sherbet": {
"aliases": [],
"description": "",
"name": "sherbet",
"plural_name": "sherbets"
"name": "sorvete",
"plural_name": "sorvetes"
},
"chocolate milk": {
"aliases": [],
"description": "",
"name": "chocolate milk",
"plural_name": "chocolate milks"
"name": "leite con chocolate",
"plural_name": "leites con chocolate"
},
"liquid egg substitute": {
"aliases": [],
@ -2873,8 +2873,8 @@
"cajeta": {
"aliases": [],
"description": "",
"name": "cajeta",
"plural_name": "cajetas"
"name": "doce de leite de cabra",
"plural_name": "doces de leite de cabra"
},
"duck egg": {
"aliases": [],

View file

@ -45,7 +45,7 @@
"name": "millilitre",
"plural_name": "millilitres",
"description": "",
"abbreviation": "mL"
"abbreviation": "ml"
},
"liter": {
"name": "litre",

View file

@ -70,7 +70,7 @@ class OpenAILocalImage(OpenAIImageBase):
)
with open(image, "rb") as f:
b64content = base64.b64encode(f.read()).decode("utf-8")
return f"data:image/jpg;base64,{b64content}"
return f"data:image/jpeg;base64,{b64content}"
class OpenAIService(BaseService):

6
poetry.lock generated
View file

@ -1849,14 +1849,14 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"]
[[package]]
name = "openai"
version = "1.98.0"
version = "1.99.1"
description = "The official Python library for the openai API"
optional = false
python-versions = ">=3.8"
groups = ["main"]
files = [
{file = "openai-1.98.0-py3-none-any.whl", hash = "sha256:b99b794ef92196829120e2df37647722104772d2a74d08305df9ced5f26eae34"},
{file = "openai-1.98.0.tar.gz", hash = "sha256:3ee0fcc50ae95267fd22bd1ad095ba5402098f3df2162592e68109999f685427"},
{file = "openai-1.99.1-py3-none-any.whl", hash = "sha256:8eeccc69e0ece1357b51ca0d9fb21324afee09b20c3e5b547d02445ca18a4e03"},
{file = "openai-1.99.1.tar.gz", hash = "sha256:2c9d8e498c298f51bb94bcac724257a3a6cac6139ccdfc1186c6708f7a93120f"},
]
[package.dependencies]