2023-03-13 00:13:25 +00:00
|
|
|
{ pkgs, config, secret, ... }:
|
2022-07-30 17:49:04 +00:00
|
|
|
|
|
|
|
{
|
|
|
|
environment.systemPackages = [
|
|
|
|
pkgs.arion
|
|
|
|
];
|
|
|
|
|
2022-08-04 22:40:11 +00:00
|
|
|
virtualisation = {
|
2023-03-16 19:16:06 +00:00
|
|
|
docker.enable = false;
|
|
|
|
|
|
|
|
podman = {
|
2022-08-04 22:40:11 +00:00
|
|
|
enable = true;
|
2023-03-16 23:08:43 +00:00
|
|
|
|
2023-03-16 19:34:49 +00:00
|
|
|
defaultNetwork.settings.dns_enabled = true;
|
2023-03-16 23:08:43 +00:00
|
|
|
|
|
|
|
dockerSocket.enable = true;
|
|
|
|
dockerCompat = true;
|
|
|
|
|
|
|
|
autoPrune = {
|
|
|
|
enable = true;
|
|
|
|
dates = "weekly";
|
|
|
|
};
|
2022-08-04 22:40:11 +00:00
|
|
|
};
|
|
|
|
|
2023-03-16 23:08:43 +00:00
|
|
|
oci-containers = {
|
|
|
|
backend = "podman";
|
2023-03-16 19:54:44 +00:00
|
|
|
|
2023-03-16 23:08:43 +00:00
|
|
|
containers.watchtower = {
|
|
|
|
image = "ghcr.io/containrrr/watchtower:latest";
|
|
|
|
environment = {
|
|
|
|
WATCHTOWER_POLL_INTERVAL = "21600";
|
|
|
|
WATCHTOWER_LABEL_ENABLE = "true";
|
|
|
|
WATCHTOWER_NOTIFICATIONS = "shoutrrr";
|
|
|
|
WATCHTOWER_NOTIFICATIONS_HOSTNAME = config.networking.hostName;
|
|
|
|
WATCHTOWER_NOTIFICATION_URL = secret.watchtower.ntfyUrl;
|
|
|
|
};
|
|
|
|
volumes = [
|
|
|
|
"/var/run/docker.sock:/var/run/docker.sock"
|
|
|
|
];
|
|
|
|
extraOptions = [
|
|
|
|
"--label=com.centurylinklabs.watchtower.enable=true"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
2022-07-30 18:27:33 +00:00
|
|
|
|
2022-08-04 22:40:11 +00:00
|
|
|
arion = {
|
2023-03-16 19:17:52 +00:00
|
|
|
backend = "podman-socket";
|
2022-08-04 22:40:11 +00:00
|
|
|
};
|
2022-07-30 18:27:33 +00:00
|
|
|
};
|
2023-03-16 20:06:46 +00:00
|
|
|
|
2023-03-16 23:08:43 +00:00
|
|
|
networking.firewall.interfaces."podman+" = {
|
2023-03-16 23:13:38 +00:00
|
|
|
allowedUDPPorts = [ 53 443 ];
|
|
|
|
allowedTCPPorts = [ 53 443 ];
|
2023-03-16 23:08:43 +00:00
|
|
|
};
|
2022-07-30 17:49:04 +00:00
|
|
|
}
|