sed on the docker file
This commit is contained in:
17
default.nix
17
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
|
||||
|
||||
Reference in New Issue
Block a user