diff --git a/hosts/kariru/default.nix b/hosts/kariru/default.nix
index b91e350..5941521 100644
--- a/hosts/kariru/default.nix
+++ b/hosts/kariru/default.nix
@@ -8,7 +8,7 @@
   boot.loader = {
     grub = {
       enable = true;
-      configurationLimit = 3;
+      configurationLimit = 5;
       device = "/dev/sda";
       useOSProber = false;
     };
diff --git a/hosts/kariru/services/default.nix b/hosts/kariru/services/default.nix
index 5e578fe..a40a5c7 100644
--- a/hosts/kariru/services/default.nix
+++ b/hosts/kariru/services/default.nix
@@ -1,6 +1,7 @@
 _: {
   imports = [
     ./traefik.nix
+    ./torrent.nix
   ];
   services.radarr = {
     enable = true;
diff --git a/hosts/kariru/services/torrent.nix b/hosts/kariru/services/torrent.nix
new file mode 100644
index 0000000..6e8330c
--- /dev/null
+++ b/hosts/kariru/services/torrent.nix
@@ -0,0 +1,33 @@
+{config, ...}: {
+  sops.secrets.gluetun = {};
+  virtualisation.oci-containers.containers = {
+    gluetun = {
+      image = "qmcgaw/gluetun";
+      ports = [
+        "8888:8888/tcp" # HTTP proxy
+        "8388:8388/tcp" # Shadowsocks
+        "8388:8388/udp" # Shadowsocks
+        "8080:8080" #qb
+        "6881:6881" #qb
+        "6881:6881/udp" #qb
+      ];
+      environmentFiles = [config.sops.secrets.gluetun.path];
+      extraOptions = ["--cap-add=NET_ADMIN"];
+    };
+    qbittorrent = {
+      image = "linuxserver/qbittorrent:latest";
+      dependsOn = ["gluetun"];
+      environment = {
+        PUID = "1001";
+        PGID = "2001";
+        TZ = "Etc/UTC";
+        WEBUI_PORT = "8080";
+      };
+      volumes = [
+        "/home/notoh/qbittorrent/config:/config"
+        "/media/downloads:/downloads"
+      ];
+      extraOptions = ["--network=container:gluetun"];
+    };
+  };
+}