50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{
|
|
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-rLG0q/MVVz52veqZuZs5W0Qke6FugXkx7fMe3QnE3gU";
|
|
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
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|