@@ -99,9 +99,22 @@ in
9999 LockFile = "/run/geoipupdate/.lock";
100100 };
101101
102+ systemd.services.geoipupdate-create-db-dir = {
103+ serviceConfig.Type = "oneshot";
104+ script = ''
105+ mkdir -p ${cfg.settings.DatabaseDirectory}
106+ chmod 0755 ${cfg.settings.DatabaseDirectory}
107+ '';
108+ };
109+
102110 systemd.services.geoipupdate = {
103111 description = "GeoIP Updater";
104− after = [ "network-online.target" "nss-lookup.target" ];
112+ requires = [ "geoipupdate-create-db-dir.service" ];
113+ after = [
114+ "geoipupdate-create-db-dir.service"
115+ "network-online.target"
116+ "nss-lookup.target"
117+ ];
105118 wants = [ "network-online.target" ];
106119 startAt = cfg.interval;
107120 serviceConfig = {
@@ -122,8 +135,6 @@ in
122135 geoipupdateConf = pkgs.writeText "geoipupdate.conf" (geoipupdateKeyValue cfg.settings);
123136
124137 script = ''
125− mkdir -p "${cfg.settings.DatabaseDirectory}"
126− chmod 755 "${cfg.settings.DatabaseDirectory}"
127138 chown geoip "${cfg.settings.DatabaseDirectory}"
128139
129140 cp ${geoipupdateConf} /run/geoipupdate/GeoIP.conf