40 lines
1.1 KiB
Nix
40 lines
1.1 KiB
Nix
{ homelab, lib, ... }: let
|
|
stacks-dir = "/mnt/data/dockge/stacks";
|
|
in {
|
|
virtualisation.oci-containers.containers."dockge" = {
|
|
image = "louislam/dockge:latest";
|
|
environment = {
|
|
"DOCKGE_STACKS_DIR" = stacks-dir;
|
|
};
|
|
volumes = [
|
|
"${stacks-dir}:${stacks-dir}:rw"
|
|
"/mnt/data/dockge/data:/app/data:rw"
|
|
"/var/run/docker.sock:/var/run/docker.sock:rw"
|
|
];
|
|
ports = [
|
|
"127.0.0.1:5001:5001/tcp"
|
|
];
|
|
log-driver = "journald";
|
|
labels = {
|
|
"glance.name" = "dockge";
|
|
"glance.icon" = "si:docker";
|
|
"glance.url" = "http://containers.proxy.${homelab.domain}:5001/";
|
|
"glance.description" = "Docker Compose Management UI";
|
|
"glance.hide" = "false";
|
|
};
|
|
};
|
|
|
|
systemd.services."docker-dockge" = {
|
|
serviceConfig = {
|
|
Restart = lib.mkOverride 500 "always";
|
|
RestartMaxDelaySec = lib.mkOverride 500 "1m";
|
|
RestartSec = lib.mkOverride 500 "100ms";
|
|
RestartSteps = lib.mkOverride 500 9;
|
|
};
|
|
wantedBy = [
|
|
"multi-user.target"
|
|
"network.target"
|
|
"docker.service"
|
|
];
|
|
};
|
|
}
|