Somehow get docker working on deck
This commit is contained in:
49
users/deck/docker.nix
Normal file
49
users/deck/docker.nix
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
systemd.user.services = let
|
||||
startup = pkgs.writeScript "dockerd-rootless" ''
|
||||
#!/bin/sh
|
||||
exec ${pkgs.rootlesskit}/bin/rootlesskit \
|
||||
--net=slirp4netns --mtu=65520 \
|
||||
--slirp4netns-sandbox=auto \
|
||||
--slirp4netns-seccomp=auto \
|
||||
--disable-host-loopback --port-driver=builtin \
|
||||
--copy-up=/etc --copy-up=/run \
|
||||
--propagation=rslave \
|
||||
${pkgs.docker}/bin/dockerd
|
||||
'';
|
||||
in {
|
||||
docker = {
|
||||
Unit = {
|
||||
Description = "Docker Application Container Engine (Rootless)";
|
||||
Documentation = ["https://docs.docker.com/go/rootless/"];
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${startup}";
|
||||
Environment = ["PATH=${lib.makeBinPath (with pkgs; [fuse-overlayfs rootlesskit slirp4netns docker docker-compose])}:/usr/bin"];
|
||||
ExecReload = "/bin/kill -s HUP $MAINPID";
|
||||
TimeoutSec = "0";
|
||||
RestartSec = "2";
|
||||
Restart = "always";
|
||||
StartLimitBurst = "3";
|
||||
StartLimitInterval = "60s";
|
||||
LimitNOFILE = "infinity";
|
||||
LimitNPROC = "infinity";
|
||||
LimitCORE = "infinity";
|
||||
TasksMax = "infinity";
|
||||
Delegate = "yes";
|
||||
Type = "notify";
|
||||
NotifyAccess = "all";
|
||||
KillMode = "mixed";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = ["default.target"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user