symlink in install phase

This commit is contained in:
UGA Innovation Factory
2025-12-18 16:24:07 -05:00
parent 16acf79ba8
commit 3dfc2ab025

View File

@@ -39,6 +39,11 @@ let
# Copy all application files
cp -r $src/* $out/opt/usda-vision/
# Remove any existing .env files and create symlink to /var/lib location
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
# Create convenience scripts
mkdir -p $out/bin
@@ -55,7 +60,7 @@ let
EOF
cat > $out/bin/usda-vision-logs <<'EOF'
#!/usr/bin/env bash
#!/usr%bin/env bash
cd $out/opt/usda-vision
${pkgs.docker-compose}/bin/docker-compose logs -f "$@"
EOF
@@ -112,7 +117,6 @@ in
systemd.tmpfiles.rules = [
"d /var/lib/usda-vision 0755 root root -"
"f /var/lib/usda-vision/.env 0644 root root -"
"L+ ${usda-vision-app}/opt/usda-vision/management-dashboard-web-app/.env - - - - /var/lib/usda-vision/.env"
];
# Systemd service to manage usda-vision docker compose
@@ -122,6 +126,10 @@ in
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
# Ensure .env file exists with defaults if empty
if [ ! -s /var/lib/usda-vision/.env ]; then
if [ -f ${usda-vision-app}/opt/usda-vision/.env.example ]; then
preStart = ''
# Ensure .env file exists with defaults if empty
if [ ! -s /var/lib/usda-vision/.env ]; then
@@ -131,11 +139,7 @@ in
echo "Please edit /var/lib/usda-vision/.env with your configuration"
fi
fi
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
'';emainAfterExit = true;
WorkingDirectory = "${usda-vision-app}/opt/usda-vision";
User = "root";
Group = "root";