diff --git a/config/modules/services/registry.nix b/config/modules/services/registry.nix new file mode 100644 index 0000000..07dfdaf --- /dev/null +++ b/config/modules/services/registry.nix @@ -0,0 +1,49 @@ +{ + 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 + ''; + }; + }; + }; +} diff --git a/flake.lock b/flake.lock index 6746fba..ba2c67b 100644 --- a/flake.lock +++ b/flake.lock @@ -104,11 +104,11 @@ "cachyos-kernel": { "flake": false, "locked": { - "lastModified": 1778851262, - "narHash": "sha256-lEtNQQdQkC1bWIxBr9po1cW6aD+UzAMxUbe6k3hH1tA=", + "lastModified": 1779085181, + "narHash": "sha256-ZdiBlGOkI9tS3ggyNlJ5gU4qCkvGWLT3sbrnHEemN2o=", "owner": "CachyOS", "repo": "linux-cachyos", - "rev": "e625438b981d774a22e2ba431a2d93e1737462ff", + "rev": "391e1e35d62d30dccd14ec3af01d58e5310b7d80", "type": "github" }, "original": { @@ -120,11 +120,11 @@ "cachyos-kernel-patches": { "flake": false, "locked": { - "lastModified": 1778864443, - "narHash": "sha256-3OIBgFPMab0avw5A0OcnGrmRTAbw573aAIgYERYRZ8g=", + "lastModified": 1779082750, + "narHash": "sha256-yyk+TU5OF0JwTlTVqqvQIwsYWFZeSzGD5JqSUg52vHw=", "owner": "CachyOS", "repo": "kernel-patches", - "rev": "a62c86e5d6ce4efcd4f3be9526adfa52aa7286af", + "rev": "2c2eb7e421e954960dd336d7d45c24f949475958", "type": "github" }, "original": { @@ -154,11 +154,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1778958912, - "narHash": "sha256-6pvS9rIF9mZRj1ENwu9fDLHeG1JFDTCpRyy6vJhXkTA=", + "lastModified": 1779135526, + "narHash": "sha256-glCununz6lmaK5fs2X946HA3EkNxB2JagdAAvInuRYU=", "owner": "nix-community", "repo": "disko", - "rev": "6e8dc7aa0e65fce67c76e18227a13a7d529f2cdf", + "rev": "d405a179887d52b24c0ddd31e09a150bd1f66779", "type": "github" }, "original": { @@ -217,11 +217,11 @@ }, "flake-file": { "locked": { - "lastModified": 1777679829, - "narHash": "sha256-zQxY90pq7BDbeimAiOfuK2U0huzo6oHOiC8zEpRgsbQ=", + "lastModified": 1779051720, + "narHash": "sha256-+jbXnODsR19pFKB0x/6kHhFgW6yV6N+CGClFr45eDU8=", "owner": "vic", "repo": "flake-file", - "rev": "04ca28cf570276e70a9a5f694791ab2a60f1f300", + "rev": "c58eb27d9434e5be0c8693f1eb18d47035bc21ba", "type": "github" }, "original": { @@ -429,11 +429,11 @@ ] }, "locked": { - "lastModified": 1778954430, - "narHash": "sha256-oaNyOr05lblaQdtbkbN1wO0b2KLIL2O1LkmwDgdQp4I=", + "lastModified": 1779213149, + "narHash": "sha256-Cf+p/T4Z3n9Sw0TiR3kQaIwQI+/hfvLJcoTzeq6yS3E=", "owner": "nix-community", "repo": "home-manager", - "rev": "26aaab785b0bab4af60a2c42b22760fa906ef22a", + "rev": "bd868f769a69d3b6091a1da68a75cb83a181033c", "type": "github" }, "original": { @@ -517,11 +517,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1778966108, - "narHash": "sha256-nq8lNb/YRIH6Re3AKtlJDjbx2RhhQYm1sCQVCf5moeY=", + "lastModified": 1779190425, + "narHash": "sha256-C0hPhLeo3ztBXYSnpYarYjw6HDvlgZRnNyFfG5PoaVI=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "24c5c13c2cef2b4324478f2fb8c2ecc386dd42d3", + "rev": "203a121537d0868bd4d8258b58861ca970483157", "type": "github" }, "original": { @@ -818,11 +818,11 @@ ] }, "locked": { - "lastModified": 1776018244, - "narHash": "sha256-rIuCVr2m4Lkz7j8mDUNqCz2R4Tzqyv/DTrr3yIis0Ec=", + "lastModified": 1779050451, + "narHash": "sha256-tnytppL6f/7YJ4hKceNmkKpmwwZOKuqBFKmIEKUmy6c=", "ref": "refs/heads/main", - "rev": "a93e9362031abd8d5315c1487d118c04305feea2", - "revCount": 58, + "rev": "6c53c5847556d335f7a5ef97820d8bfae79fd280", + "revCount": 66, "type": "git", "url": "https://git.scug.io/nikkuss/pkgs.git" }, @@ -843,11 +843,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1778942403, - "narHash": "sha256-SPCWvqeVySTNUgX/shARpRl5fi/NnkObUgDGR/Aco4c=", + "lastModified": 1779213531, + "narHash": "sha256-B4pOfIX6CpCD/cKckwNP3DYDxEUBG1x/K3vqwYNonx4=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "daefca3370581223fedc24d0101c4915a3689f9e", + "rev": "f4027707431220ffb660ae0da0e03fd5229ab4d9", "type": "github" }, "original": { @@ -898,11 +898,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1778956518, - "narHash": "sha256-bbZMrzJtCqksaUBmAWSqmme/7PHEedPRAI3VmOSuP4A=", + "lastModified": 1779131761, + "narHash": "sha256-DIdXwxWzhECkp2n/OF15llkEHoGXLjwjCCg7oU+Qd2o=", "owner": "xddxdd", "repo": "nix-cachyos-kernel", - "rev": "ae5bc7641fb4178e4d9582ea49cab201f60f7869", + "rev": "56707a2b9725fd5b030f508565ae3a1327d6ac44", "type": "github" }, "original": { @@ -945,11 +945,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1778737229, - "narHash": "sha256-6xWoytx8jFW4PF1GjRm/i/53trbpKGfz6zjzQGBr4cI=", + "lastModified": 1779102034, + "narHash": "sha256-vZJZjLo513IeI8hjzHFc6TDezUd4uCE2Eq4SNO3DNNg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7a713c0b7e47c908258e71cba7a2d77cc8d71d5", + "rev": "687f05a9184cad4eaf905c48b63649e3a86f5433", "type": "github" }, "original": { @@ -990,11 +990,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1778930970, - "narHash": "sha256-FqqcYr0c5in/HRL5bkRWykAGp/Q10Vj/zUiSr1P8URE=", + "lastModified": 1779024751, + "narHash": "sha256-fIE/HazjcoU/27WI3//uVg5AIntnVo1Q/GjMuBwPuHw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5a51fe22e18a6ce886b3cffa4c255378c151323c", + "rev": "3849902757e881ccbf21df80d592e3b94a35131c", "type": "github" }, "original": { @@ -1019,11 +1019,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1778794387, - "narHash": "sha256-BL04pOS9453Awkeb9f90XBJXBSkWxN+vB7HIgnL0iMM=", + "lastModified": 1778869304, + "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8a1b0127302ea51e05bf4ea5a291743fac442406", + "rev": "d233902339c02a9c334e7e593de68855ad26c4cb", "type": "github" }, "original": { @@ -1085,11 +1085,11 @@ "systems": "systems_4" }, "locked": { - "lastModified": 1778906310, - "narHash": "sha256-LqASEJRtLuKRBJd9051T1KMAEaYvsVrc6m64jhD6xbw=", + "lastModified": 1779199181, + "narHash": "sha256-8x/CeqkYNAAOY+Pa5Huyh0aiUmFcOUAyq3VdYxHb5K4=", "owner": "nix-community", "repo": "nixvim", - "rev": "06cace835d7ee727852ac789e3dcd42fc2fd360e", + "rev": "13ba3f7ca9da3d49e959745f6d0d1e7a662c1984", "type": "github" }, "original": { @@ -1128,11 +1128,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1778886193, - "narHash": "sha256-4W9rjS2PN8iVcFYkJgiGOE/U383njIRFxrRnL/edo6c=", + "lastModified": 1779181830, + "narHash": "sha256-lna281k1C80nwnVN8HqGrVIKReLc6GNlws9TTw7M0N0=", "ref": "main", - "rev": "105e55b9baa8eafd7927038c59c43199444cf4b0", - "revCount": 60, + "rev": "6aee92530f8d6c772499b8ac84f3979ae5c06557", + "revCount": 64, "type": "git", "url": "https://git.molez.org/mandlm/omp-nix" },