use link to .env file
This commit is contained in:
20
default.nix
20
default.nix
@@ -109,13 +109,31 @@ in
|
|||||||
users.users.sv22900.extraGroups = [ "docker" ];
|
users.users.sv22900.extraGroups = [ "docker" ];
|
||||||
users.users.hdh20267.extraGroups = [ "docker" ];
|
users.users.hdh20267.extraGroups = [ "docker" ];
|
||||||
|
|
||||||
|
# Create persistent directories and .env file location
|
||||||
|
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
|
# Systemd service to manage usda-vision docker compose
|
||||||
systemd.services.usda-vision = {
|
systemd.services.usda-vision = {
|
||||||
description = "USDA Vision Docker Compose Stack";
|
description = "USDA Vision Docker Compose Stack";
|
||||||
after = [ "docker.service" "network-online.target" ];
|
after = [ "docker.service" "network-online.target" "systemd-tmpfiles-setup.service" ];
|
||||||
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
|
||||||
|
echo "Copying .env.example to /var/lib/usda-vision/.env"
|
||||||
|
cp ${usda-vision-app}/opt/usda-vision/.env.example /var/lib/usda-vision/.env
|
||||||
|
echo "Please edit /var/lib/usda-vision/.env with your configuration"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user