added mealie
This commit is contained in:
parent
88ce2e6a5f
commit
8d47f6b09c
11 changed files with 295 additions and 8 deletions
97
mealie/default.nix
Normal file
97
mealie/default.nix
Normal file
|
@ -0,0 +1,97 @@
|
|||
{ lib, callPackage, fetchFromGitHub, gnused, python3, python3Packages, writeShellScript }: let
|
||||
version = "1.0.0-RC2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mealie-recipes";
|
||||
repo = "mealie";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/sht8s0Nap6TdYxAqamKj/HGGV21/8eYCuYzpWXRJCE=";
|
||||
};
|
||||
|
||||
frontend = callPackage (import ./mealie-frontend.nix src version) { };
|
||||
|
||||
in python3Packages.buildPythonPackage rec {
|
||||
pname = "mealie";
|
||||
inherit version src;
|
||||
format = "pyproject";
|
||||
|
||||
patches = [
|
||||
./mealie_statedir.patch
|
||||
./mealie_init_db.patch
|
||||
./mealie_logger.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.poetry-core
|
||||
python3.pkgs.pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
aiofiles
|
||||
alembic
|
||||
aniso8601
|
||||
appdirs
|
||||
apprise
|
||||
bcrypt
|
||||
extruct
|
||||
fastapi
|
||||
gunicorn
|
||||
jinja2
|
||||
lxml
|
||||
orjson
|
||||
passlib
|
||||
pillow
|
||||
psycopg2
|
||||
pyhumps
|
||||
pytesseract
|
||||
python-dotenv
|
||||
python-jose
|
||||
python-ldap
|
||||
python-multipart
|
||||
python-slugify
|
||||
pyyaml
|
||||
rapidfuzz
|
||||
recipe-scrapers
|
||||
sqlalchemy
|
||||
uvicorn
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
postInstall = let
|
||||
start_script = writeShellScript "start-mealie" ''
|
||||
export STATIC_FILES="${frontend}"
|
||||
${python3Packages.gunicorn}/bin/gunicorn "$@" -k uvicorn.workers.UvicornWorker mealie.app:app;
|
||||
'';
|
||||
in ''
|
||||
mkdir -p $out/config $out/bin
|
||||
${lib.getExe gnused} 's+script_location = alembic+script_location = ${src}/alembic+g' ${src}/alembic.ini > $out/config/alembic.ini
|
||||
|
||||
rm -f $out/bin/*
|
||||
ln -s $out/lib/${python3.libPrefix}/site-packages/mealie/db/init_db.py $out/bin/init_db.py
|
||||
cp ${start_script} $out/bin/start-mealie
|
||||
chmod +x $out/bin/start-mealie
|
||||
'';
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
passthru = {
|
||||
inherit python3;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Place for All Your Recipes";
|
||||
longDescription = ''
|
||||
Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend
|
||||
application built in NuxtJS for a pleasant user experience for the whole family. Easily add recipes into your
|
||||
database by providing the URL and Mealie will automatically import the relevant data or add a family recipe with
|
||||
the UI editor.
|
||||
'';
|
||||
homepage = "https://nightly.mealie.io";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ litchipi ];
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue