NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.99k stars 14k forks source link

package/module request: tandoor recipes #145244

Closed ambroisie closed 2 years ago

ambroisie commented 2 years ago

Project description

A recipe manager app written in python with django, with the ability to use external sources of recipes, manage cookbooks, share recipes with other users, and create shopping lists from meal plans.

It recently got its 1.0 release.

Metadata

ambroisie commented 2 years ago

For reference, my in-progress packaging branch is here https://github.com/ambroisie/nixpkgs/tree/add-tandoor-recipes, where I am in the process of:

If any passer-by has more experience with yarn, vue, and django, I'd be glad to hear your input.

warning Lockfile has incorrect entry for "workbox-webpack-plugin@^4.3.1". Ignoring it.
error Couldn't find any versions for "workbox-webpack-plugin" that matches "^4.3.1" in our cache (possible versions are ""). This is usually caused by a missing entry in the lockfile, running Yarn without the --offline flag may help fix this issue.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
ambroisie commented 2 years ago

So upstream has a new version, with yarn.lock included in the sources.

I still have the same issue with the "incorrect entry" however...

ulrikstrid commented 2 years ago

As a workaround I use something like this:

{
  virtualisation.oci-containers.containers."tandoor-web" = {
    image = "vabene1111/recipes";
    environment = {
      "SECRET_KEY" = "super_secret";
      "DB_ENGINE" = "django.db.backends.postgresql";
      "POSTGRES_HOST" = "192.168.1.101";
      "POSTGRES_PORT" = "5432";
      "POSTGRES_USER" = "tandoor";
      "POSTGRES_PASSWORD" = "YOUR_POSTGRES_SECRET_KEY";
      "POSTGRES_DB" = "tandoor";
    };
    ports = [ "5080:8080" ];
    volumes = [
      "/home/delegator/tandoor/staticfiles:/opt/recipes/staticfiles"
      "/home/delegator/tandoor/mediafiles:/opt/recipes/mediafiles"
    ];
  };

  networking.firewall.allowedTCPPorts = [
    5080
  ];
}
ambroisie commented 2 years ago

@ulrikstrid I know I can use the upstream container, I'd rather have it running as an actual systemd service though, and I'm probably not the only one.

EDIT: thank you for pointing it out though, I do not mean to sound dismissive.

ambroisie commented 2 years ago

I had a breakthrough thanks to @yu-re-ka on discourse, I am now able to package the frontend, doing some touch-ups to get the branch mergeable.

Given the amount of work that went into packaging it, I might not end up writing a NixOS module for now. @ulrikstrid, @bachp would you be interested in writing it?

ambroisie commented 2 years ago

I've got a first draft of the module set-up, see the add-tandoor-recipes-module branch on my nixpkgs fork. It's probably not working correctly for now, but does pass the basic NixOS test I added.

@ulrikstrid @bachp would you want to try it out?