docker-containers: Add autoStart option (#76480)

This option allows the user to control whether or not the docker container is
automatically started on boot. The previous default behavior (true) is preserved
This commit is contained in:
Atemu 2020-02-14 23:57:31 +01:00 committed by GitHub
parent ce8d1c2adf
commit 08ac06edba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -192,13 +192,22 @@ let
["--network=host"]
'';
};
autoStart = mkOption {
type = types.bool;
default = true;
description = ''
When enabled, the container is automatically started on boot.
If this option is set to false, the container has to be started on-demand via its service.
'';
};
};
};
mkService = name: container: let
mkAfter = map (x: "docker-${x}.service") container.dependsOn;
in rec {
wantedBy = [ "multi-user.target" ];
wantedBy = [] ++ optional (container.autoStart) "multi-user.target";
after = [ "docker.service" "docker.socket" ] ++ mkAfter;
requires = after;