From 66afa5e5722100fe1f4f034c4cc33e506f4826f7 Mon Sep 17 00:00:00 2001 From: UGA Innovation Factory Date: Thu, 18 Dec 2025 16:55:15 -0500 Subject: [PATCH] sed on the docker file --- default.nix | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/default.nix b/default.nix index e68533d..28e90ab 100644 --- a/default.nix +++ b/default.nix @@ -39,10 +39,17 @@ let # Copy all application files cp -r $src/* $out/opt/usda-vision/ - # Remove any existing .env files and create symlink to /var/lib location + # Remove any existing .env files rm -f $out/opt/usda-vision/management-dashboard-web-app/.env rm -f $out/opt/usda-vision/.env - ln -s /var/lib/usda-vision/.env $out/opt/usda-vision/management-dashboard-web-app/.env + + # Update docker-compose.yml to use /var/lib/usda-vision/.env + if [ -f $out/opt/usda-vision/docker-compose.yml ]; then + ${pkgs.gnused}/bin/sed -i 's|env_file:.*management-dashboard-web-app/\.env|env_file: /var/lib/usda-vision/.env|g' \ + $out/opt/usda-vision/docker-compose.yml + ${pkgs.gnused}/bin/sed -i 's|\./management-dashboard-web-app/\.env|/var/lib/usda-vision/.env|g' \ + $out/opt/usda-vision/docker-compose.yml + fi # Create convenience scripts mkdir -p $out/bin @@ -126,6 +133,12 @@ in wants = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; + # Only start if .env file exists and is not empty + unitConfig = { + ConditionPathExists = "/var/lib/usda-vision/.env"; + ConditionPathIsReadWrite = "/var/lib/usda-vision/.env"; + }; + preStart = '' # Ensure .env file exists with defaults if empty if [ ! -s /var/lib/usda-vision/.env ]; then