summary refs log tree commit diff
path: root/services
diff options
context:
space:
mode:
Diffstat (limited to 'services')
-rw-r--r--services/irc/soju.nix38
-rw-r--r--services/minecraft.nix15
2 files changed, 22 insertions, 31 deletions
diff --git a/services/irc/soju.nix b/services/irc/soju.nix
index f6c7ff0..e5c55c1 100644
--- a/services/irc/soju.nix
+++ b/services/irc/soju.nix
@@ -4,8 +4,8 @@ let
   inherit (pkgs) dockerTools soju;
   inherit (auxiliaryPkgs) common;
 
-  ircPort = "6667";
-  socketPort = "3030";
+  ircPort = 6667;
+  socketPort = 3030;
   sojuDir = "/srv/soju";
 
   sojuImage = dockerTools.streamLayeredImage {
@@ -22,24 +22,20 @@ let
 
 in
 {
-  virtualisation.oci-containers.containers = {
-    soju = {
-      imageStream = sojuImage;
-      image = "soju:${soju.version}";
-      # TODO: allow tailscale ports in foundation
-      ports = [
-        "${me.tailscale.ip}:${ircPort}:${ircPort}"
-        "${me.tailscale.ip}:${socketPort}:${socketPort}"
-      ];
-
-      volumes = [
-        "${sojuDir}/config.in:/etc/soju/config.in"
-        "${sojuDir}/soju.db:/var/lib/soju/soju.db"
-        "${sojuDir}/logs:/var/lib/soju/logs"
-      ];
-
-      entrypoint = "${soju}/bin/soju";
-      cmd = [ "-config" "/etc/soju/config.in" ];
-    };
+  foundation.services.soju = {
+    image = sojuImage;
+    ports = [
+      (common.tailnetPort me ircPort)
+      (common.tailnetPort me socketPort)
+    ];
+
+    volumes = [
+      [ "${sojuDir}/config.in" "/etc/soju/config.in" ]
+      [ "${sojuDir}/soju.db" "/var/lib/soju/soju.db" ]
+      [ "${sojuDir}/logs" "/var/lib/soju/logs" ]
+    ];
+
+    entrypoint = "${soju}/bin/soju";
+    cmd = [ "-config" "/etc/soju/config.in" ];
   };
 }
diff --git a/services/minecraft.nix b/services/minecraft.nix
index cd04e31..0690f40 100644
--- a/services/minecraft.nix
+++ b/services/minecraft.nix
@@ -28,16 +28,11 @@ in
 {
   networking.firewall.allowedTCPPorts = [ minecraftPort ];
 
-  # TODO: put global ports into foundation
-  virtualisation.oci-containers.containers.minecraft = {
-    imageStream = minecraftImage;
-    image = "minecraft:${minecraft.version}";
-    # expose minecraft service port globally.
-    ports = [ "0.0.0.0:${toString minecraftPort}:${toString minecraftPort}" ];
-
-    volumes = [
-      "${minecraftDir}:/server"
-    ];
+  foundation.services.minecraft = {
+    image = minecraftImage;
+    ports = [ (common.globalPort minecraftPort) ];
+
+    volumes = [ [ "${minecraftDir}" "/server" ] ];
 
     workdir = "/server";
     entrypoint = "${minecraft}/bin/minecraft-server";