From 6c6007e6d2f6163f2195d6e83b61388018b0ca83 Mon Sep 17 00:00:00 2001 From: mtgmonkey Date: Sun, 8 Jun 2025 19:22:30 +0000 Subject: [PATCH] convert to docker --- services/spacebar-client.nix | 49 ++++++++++++++---------------------- 1 file changed, 19 insertions(+), 30 deletions(-) diff --git a/services/spacebar-client.nix b/services/spacebar-client.nix index d22590d..999b2c2 100644 --- a/services/spacebar-client.nix +++ b/services/spacebar-client.nix @@ -4,26 +4,15 @@ lib, ... }: { - # Runtime - virtualisation.podman = { - enable = true; - autoPrune.enable = true; - dockerCompat = true; - defaultNetwork.settings = { - # Required for container networking to be able to use names. - dns_enabled = true; - }; - }; - - # Enable container name DNS for non-default Podman networks. + # Enable container name DNS for non-default Docker networks. # https://github.com/NixOS/nixpkgs/issues/226365 - networking.firewall.interfaces."podman+".allowedUDPPorts = [53]; + networking.firewall.interfaces."docker+".allowedUDPPorts = [53]; - virtualisation.oci-containers.backend = "podman"; + virtualisation.oci-containers.backend = "docker"; # Containers virtualisation.oci-containers.containers."spaceclient-jank" = { - image = "localhost/compose2nix/spaceclient-jank"; + image = "docker.io/compose2nix/spaceclient-jank"; ports = [ "9780:8080/tcp" ]; @@ -33,56 +22,56 @@ "--network=spaceclient_default" ]; }; - systemd.services."podman-spaceclient-jank" = { + systemd.services."docker-spaceclient-jank" = { serviceConfig = { Restart = lib.mkOverride 90 "always"; }; after = [ - "podman-network-spaceclient_default.service" + "docker-network-spaceclient_default.service" ]; requires = [ - "podman-network-spaceclient_default.service" + "docker-network-spaceclient_default.service" ]; partOf = [ - "podman-compose-spaceclient-root.target" + "docker-compose-spaceclient-root.target" ]; wantedBy = [ - "podman-compose-spaceclient-root.target" + "docker-compose-spaceclient-root.target" ]; }; # Networks - systemd.services."podman-network-spaceclient_default" = { - path = [pkgs.podman]; + systemd.services."docker-network-spaceclient_default" = { + path = [pkgs.docker]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - ExecStop = "podman network rm -f spaceclient_default"; + ExecStop = "docker network rm -f spaceclient_default"; }; script = '' - podman network inspect spaceclient_default || podman network create spaceclient_default + docker network inspect spaceclient_default || docker network create spaceclient_default ''; - partOf = ["podman-compose-spaceclient-root.target"]; - wantedBy = ["podman-compose-spaceclient-root.target"]; + partOf = ["docker-compose-spaceclient-root.target"]; + wantedBy = ["docker-compose-spaceclient-root.target"]; }; # Builds - systemd.services."podman-build-spaceclient-jank" = { - path = [pkgs.podman pkgs.git]; + systemd.services."docker-build-spaceclient-jank" = { + path = [pkgs.docker pkgs.git]; serviceConfig = { Type = "oneshot"; TimeoutSec = 300; }; script = '' cd /home/mtgmonkey/spaceclient - podman build -t compose2nix/spaceclient-jank . + docker build -t compose2nix/spaceclient-jank . ''; }; # Root service # When started, this will automatically create all resources and start # the containers. When stopped, this will teardown all resources. - systemd.targets."podman-compose-spaceclient-root" = { + systemd.targets."docker-compose-spaceclient-root" = { unitConfig = { Description = "Root target generated by compose2nix."; };