diff --git a/hosts/bicep/services/mysql/default.nix b/hosts/bicep/services/mysql/default.nix index a162053..65f3a79 100644 --- a/hosts/bicep/services/mysql/default.nix +++ b/hosts/bicep/services/mysql/default.nix @@ -54,6 +54,18 @@ in mode = "0700"; }; + fileSystems.${dataDir} = lib.mkIf cfg.enable { + device = dataDir; + fsType = "none"; + options = [ + "bind" + "noatime" + "noauto" + "x-systemd.requires=systemd-tmpfiles-setup.service" + "x-systemd.requires=systemd-tmpfiles-resetup.service" + ]; + }; + systemd.services.mysql = lib.mkIf cfg.enable { after = [ "systemd-tmpfiles-setup.service" @@ -61,6 +73,7 @@ in ]; serviceConfig = { + RequiresMountsFor = [ dataDir ]; BindPaths = [ "${dataDir}:${cfg.dataDir}" ]; LogsDirectory = "mysql"; diff --git a/hosts/bicep/services/postgresql/default.nix b/hosts/bicep/services/postgresql/default.nix index d4e31b7..bdb4174 100644 --- a/hosts/bicep/services/postgresql/default.nix +++ b/hosts/bicep/services/postgresql/default.nix @@ -99,6 +99,18 @@ in mode = "0700"; }; + fileSystems."/data/postgresql" = lib.mkIf cfg.enable { + device = "/data/postgresql"; + fsType = "none"; + options = [ + "bind" + "noatime" + "noauto" + "x-systemd.requires=systemd-tmpfiles-setup.service" + "x-systemd.requires=systemd-tmpfiles-resetup.service" + ]; + }; + systemd.services.postgresql-setup = lib.mkIf cfg.enable { after = [ "systemd-tmpfiles-setup.service" @@ -110,6 +122,7 @@ in "key:/etc/certs/postgres.key" ]; + RequiresMountsFor = [ "/data/postgresql" ]; BindPaths = [ "/data/postgresql:/var/lib/postgresql" ]; }; }; @@ -125,6 +138,7 @@ in "key:/etc/certs/postgres.key" ]; + RequiresMountsFor = [ "/data/postgresql" ]; BindPaths = [ "/data/postgresql:/var/lib/postgresql" ]; }; };