# Auto-generated using compose2nix v0.3.1. { pkgs, lib, port, ... }: { # Runtime virtualisation.docker = { enable = true; autoPrune.enable = true; }; virtualisation.oci-containers.backend = "docker"; # Containers virtualisation.oci-containers.containers."jank-client-jank" = { image = "compose2nix/jank-client-jank"; ports = [ "${port}:8080/tcp" ]; log-driver = "journald"; extraOptions = [ "--network-alias=jank" "--network=jank-client_default" ]; }; systemd.services."docker-jank-client-jank" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; RestartMaxDelaySec = lib.mkOverride 90 "1m"; RestartSec = lib.mkOverride 90 "100ms"; RestartSteps = lib.mkOverride 90 9; }; after = [ "docker-network-jank-client_default.service" ]; requires = [ "docker-network-jank-client_default.service" ]; partOf = [ "docker-compose-jank-client-root.target" ]; wantedBy = [ "docker-compose-jank-client-root.target" ]; }; # Networks systemd.services."docker-network-jank-client_default" = { path = [pkgs.docker]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; ExecStop = "docker network rm -f jank-client_default"; }; script = '' docker network inspect jank-client_default || docker network create jank-client_default ''; partOf = ["docker-compose-jank-client-root.target"]; wantedBy = ["docker-compose-jank-client-root.target"]; }; # Builds systemd.services."docker-build-jank-client-jank" = { path = [pkgs.docker pkgs.git]; serviceConfig = { Type = "oneshot"; TimeoutSec = 300; }; script = '' cd /home/mtgmonkey/JankClient docker build -t compose2nix/jank-client-jank . ''; }; # Root service # When started, this will automatically create all resources and start # the containers. When stopped, this will teardown all resources. systemd.targets."docker-compose-jank-client-root" = { unitConfig = { Description = "Root target generated by compose2nix."; }; wantedBy = ["multi-user.target"]; }; }