diff options
author | talyz <kim.lindberger@gmail.com> | 2021-06-07 13:01:49 +0200 |
---|---|---|
committer | talyz <kim.lindberger@gmail.com> | 2021-06-07 13:01:49 +0200 |
commit | ba4d2bd03c0b30c888876f8b80bb5e42747d09de (patch) | |
tree | 1f8e6344fe8ff01c400f4fe24845c254cfef627b /nixos/modules/services/misc/geoipupdate.nix | |
parent | 7cf55d1f4edba3e907dcff5958be4dc0bda0897d (diff) | |
download | nixpkgs-ba4d2bd03c0b30c888876f8b80bb5e42747d09de.tar nixpkgs-ba4d2bd03c0b30c888876f8b80bb5e42747d09de.tar.gz nixpkgs-ba4d2bd03c0b30c888876f8b80bb5e42747d09de.tar.bz2 nixpkgs-ba4d2bd03c0b30c888876f8b80bb5e42747d09de.tar.lz nixpkgs-ba4d2bd03c0b30c888876f8b80bb5e42747d09de.tar.xz nixpkgs-ba4d2bd03c0b30c888876f8b80bb5e42747d09de.tar.zst nixpkgs-ba4d2bd03c0b30c888876f8b80bb5e42747d09de.zip |
nixos/geoipupdate: Create database directory in a separate unit
The database directory needs to be created before the geoipupdate.service unit is activated; otherwise, systemd will not be able to set up the mount namespacing to grant the service read-write access.
Diffstat (limited to 'nixos/modules/services/misc/geoipupdate.nix')
-rw-r--r-- | nixos/modules/services/misc/geoipupdate.nix | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/nixos/modules/services/misc/geoipupdate.nix b/nixos/modules/services/misc/geoipupdate.nix index 836802e3830..3cf8e5e1099 100644 --- a/nixos/modules/services/misc/geoipupdate.nix +++ b/nixos/modules/services/misc/geoipupdate.nix @@ -99,9 +99,22 @@ in LockFile = "/run/geoipupdate/.lock"; }; + systemd.services.geoipupdate-create-db-dir = { + serviceConfig.Type = "oneshot"; + script = '' + mkdir -p ${cfg.settings.DatabaseDirectory} + chmod 0755 ${cfg.settings.DatabaseDirectory} + ''; + }; + systemd.services.geoipupdate = { description = "GeoIP Updater"; - after = [ "network-online.target" "nss-lookup.target" ]; + requires = [ "geoipupdate-create-db-dir.service" ]; + after = [ + "geoipupdate-create-db-dir.service" + "network-online.target" + "nss-lookup.target" + ]; wants = [ "network-online.target" ]; startAt = cfg.interval; serviceConfig = { @@ -122,8 +135,6 @@ in geoipupdateConf = pkgs.writeText "geoipupdate.conf" (geoipupdateKeyValue cfg.settings); script = '' - mkdir -p "${cfg.settings.DatabaseDirectory}" - chmod 755 "${cfg.settings.DatabaseDirectory}" chown geoip "${cfg.settings.DatabaseDirectory}" cp ${geoipupdateConf} /run/geoipupdate/GeoIP.conf |