{ den, __findFile, modules, ... }: { # Basic traefik modules.services.provides.docker-registry = { nixos = { config, pkgs, ... }: let registryImg = pkgs.dockerTools.pullImage { imageName = "registry"; imageDigest = "sha256:85347ed2ecde64161c7a4788a4d7d3dcc9d6f86f7be95834022e3c6a423a945a"; finalImageName = "registry"; finalImageTag = "3"; sha256 = "sha256-AfPrjUFG1rZ5UWJrYWzjpIg7AIGMqjNIRe1eDuvrOPo"; arch = "arm64"; }; in { virtualisation.oci-containers.containers = { docker-registry = { image = "registry"; imageFile = registryImg; volumes = [ "/data/dockerRegistry:/var/lib/registry" "/run/dbus:/run/dbus:ro" "/etc/localtime:/etc/localtime:ro" ]; ports = ["0.0.0.0:5000:5000"]; # networks = [ "meow" ]; }; }; networking.firewall = { allowedTCPPorts = [ 5000 ]; allowedUDPPortRanges = []; }; services.caddy = pkgs.lib.mkIf config.services.caddy.enable { virtualHosts."dockerRegistry.h.doloro.co.uk".extraConfig = '' reverse_proxy :5000 ''; }; }; }; }