How do you go about developing and deploying apps with nix that use databases such as mysql or mongodb?
Getting compiler, compiling/linking is relatively easy with flakes. What is the best practice to add a database?
I want a configuration that can be used in dev shell (
nix develop) and that can be deployed in production that runs Ubuntu.
Adding mysql to
buildInputs gives me a binary in scope but not , what’s the best approach to deal with starting/stopping/logging, etc?
What is the best practice to add a database?
I think would be creating a dev shell with database and a package without it. Flakes let you have different shells and packages.
DevEnv and DevShell has some tools for that.
For non dev (PRD/QA), I would try system-manager, but I never had the chance. Other option would be create docker images.
You probably will have some question about password management.