From 6d76139a0e69bd59f5bae6103df3b4809e7249eb Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Tue, 17 Feb 2026 20:23:51 +0000 Subject: [PATCH] manatee: Add web based reader for `komga` --- hosts/manatee/modules/komga/default.nix | 29 +- hosts/manatee/modules/komga/komga-reader.html | 1539 +++++++++++++++++ 2 files changed, 1567 insertions(+), 1 deletion(-) create mode 100644 hosts/manatee/modules/komga/komga-reader.html diff --git a/hosts/manatee/modules/komga/default.nix b/hosts/manatee/modules/komga/default.nix index 7e50a76..2488969 100644 --- a/hosts/manatee/modules/komga/default.nix +++ b/hosts/manatee/modules/komga/default.nix @@ -1,11 +1,13 @@ { inputs, + pkgs, lib, config, ... }: let enabled = config.mod.komga.enable; + nginxEnabled = config.mod.nginx.enable; in { options = { @@ -28,10 +30,35 @@ in user = "komga"; group = "storage"; - settings.server.port = 8002; + settings = { + server.port = 8002; + komga."cors.allowed-origins" = [ + "http://manatee:8888" + ]; + }; + openFirewall = true; }; + services.nginx = lib.mkIf nginxEnabled { + virtualHosts."komga-reader" = { + listen = [ + { + addr = "0.0.0.0"; + port = 8888; + } + ]; + root = (pkgs.writeTextDir "komga-reader.html" (builtins.readFile ./komga-reader.html)); + + locations."/" = { + index = "komga-reader.html"; + tryFiles = "$uri $uri/ /komga-reader.html"; + }; + }; + }; + + networking.firewall.allowedTCPPorts = [ 8888 ]; + programs.comictracker = { enable = true; komgaUrl = "http://manatee:8002"; diff --git a/hosts/manatee/modules/komga/komga-reader.html b/hosts/manatee/modules/komga/komga-reader.html new file mode 100644 index 0000000..4cc89f4 --- /dev/null +++ b/hosts/manatee/modules/komga/komga-reader.html @@ -0,0 +1,1539 @@ + + + + + +Komga Reader + + + + + +
+ +
+ + +
+ + +
+
+
📖
+

Select a book from the sidebar to start reading

+
+
+ Comic page + +
+
+
+
+
+ +
+
Keyboard Shortcuts
+
+
Navigation
+
Ctrl+
+
Previous / next page
+
+
Pan
+
Zoom
+
scroll
+
Zoom at cursor
+
Ctrl+
+
Zoom in / out
+
+ -
+
Zoom in / out
+
0
+
Reset zoom to fit
+
double-click
+
Reset zoom to fit
+
View
+
C
+
Center page horizontally
+
D
+
Toggle single / double page
+
F
+
Toggle fullscreen
+
Tab
+
Toggle sidebar
+
?
+
Toggle this help
+
+
+ +
+ + - + +
+ + 100% + + +
+
+ +
+ + + + +
+
+
+ +
+ + + +
+ +
+ pan  ·  Ctrl+ prev/next page  ·  scroll to zoom  ·  drag to pan +
+
+ + + +