diff --git a/docs/docs/documentation/getting-started/installation/postgres.md b/docs/docs/documentation/getting-started/installation/postgres.md index adb6320bf..9d8d94853 100644 --- a/docs/docs/documentation/getting-started/installation/postgres.md +++ b/docs/docs/documentation/getting-started/installation/postgres.md @@ -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 diff --git a/mealie/repos/seed/resources/foods/locales/fr-FR.json b/mealie/repos/seed/resources/foods/locales/fr-FR.json index 17442e76c..9d90064fe 100644 --- a/mealie/repos/seed/resources/foods/locales/fr-FR.json +++ b/mealie/repos/seed/resources/foods/locales/fr-FR.json @@ -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": [], diff --git a/mealie/repos/seed/resources/foods/locales/gl-ES.json b/mealie/repos/seed/resources/foods/locales/gl-ES.json index 99c0c1e14..73a442b49 100644 --- a/mealie/repos/seed/resources/foods/locales/gl-ES.json +++ b/mealie/repos/seed/resources/foods/locales/gl-ES.json @@ -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": [], diff --git a/mealie/repos/seed/resources/units/locales/fr-FR.json b/mealie/repos/seed/resources/units/locales/fr-FR.json index 226901043..e665eff4b 100644 --- a/mealie/repos/seed/resources/units/locales/fr-FR.json +++ b/mealie/repos/seed/resources/units/locales/fr-FR.json @@ -45,7 +45,7 @@ "name": "millilitre", "plural_name": "millilitres", "description": "", - "abbreviation": "mL" + "abbreviation": "ml" }, "liter": { "name": "litre", diff --git a/mealie/services/openai/openai.py b/mealie/services/openai/openai.py index 5d74d9309..e94aedc3b 100644 --- a/mealie/services/openai/openai.py +++ b/mealie/services/openai/openai.py @@ -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): diff --git a/poetry.lock b/poetry.lock index 8c04cd4d9..93bff2487 100644 --- a/poetry.lock +++ b/poetry.lock @@ -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]