From 6a69fe46729fde144533e59dba41c35da17b8769 Mon Sep 17 00:00:00 2001 From: Patrick Mulligan Date: Sun, 11 Jan 2026 18:46:07 +0100 Subject: [PATCH] Add configurable mode option for development/production MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add services.lamassu-server.mode option (default: development) - NODE_ENV is now set based on mode in all services - Development mode uses port 3001 for admin UI registration URLs - Production mode uses standard HTTPS port (443) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- modules/lamassu-lnbits.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/lamassu-lnbits.nix b/modules/lamassu-lnbits.nix index d0e4d43..041c5c2 100644 --- a/modules/lamassu-lnbits.nix +++ b/modules/lamassu-lnbits.nix @@ -9,7 +9,7 @@ let # Shared environment variables for both services commonEnv = { - NODE_ENV = "production"; + NODE_ENV = cfg.mode; LOG_LEVEL = cfg.logLevel; HOSTNAME = cfg.hostname; @@ -117,6 +117,15 @@ in description = "Logging level for lamassu-server"; }; + mode = mkOption { + type = types.enum [ "production" "development" ]; + default = "development"; + description = '' + Run in production or development mode. + Development mode uses port 3001 for admin UI registration URLs. + ''; + }; + skip2FA = mkOption { type = types.bool; default = true; @@ -402,6 +411,7 @@ in export POSTGRES_HOST="127.0.0.1" POSTGRES_PORT="5432" export POSTGRES_DB="${cfg.database.name}" POSTGRES_USER="${cfg.database.user}" POSTGRES_PASSWORD="$DB_PASSWORD" export HOSTNAME="${cfg.hostname}" SKIP_2FA="${if cfg.skip2FA then "true" else "false"}" + export NODE_ENV="${cfg.mode}" sudo -E -u ${cfg.user} ${pkgs.nodejs_22}/bin/node ${cfg.dataDir}/source/packages/server/bin/lamassu-register "$@" '') ];