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