trilium: add self-hosted note-taking service

Add trilium-server on port 8787 behind Caddy reverse proxy at
notes.sigkill.computer. Data stored on ZFS tank pool with
serviceMountWithZpool for mount ordering.
This commit is contained in:
2026-04-02 17:44:04 -04:00
parent 9baeaa5c23
commit e41f869843
3 changed files with 35 additions and 0 deletions

View File

@@ -49,6 +49,7 @@
./services/llama-cpp.nix
./services/llama-cpp-annotations.nix
./services/trilium.nix
./services/ups.nix
./services/monitoring.nix

View File

@@ -173,6 +173,10 @@ rec {
port = 6688;
proto = "tcp";
};
trilium = {
port = 8787;
proto = "tcp";
};
};
};
@@ -302,6 +306,10 @@ rec {
domain = "grafana.${https.domain}";
};
trilium = {
dataDir = services_dir + "/trilium";
};
media = {
moviesDir = torrents_path + "/media/movies";
tvDir = torrents_path + "/media/tv";

26
services/trilium.nix Normal file
View File

@@ -0,0 +1,26 @@
{
config,
pkgs,
service_configs,
lib,
...
}:
{
imports = [
(lib.serviceMountWithZpool "trilium-server" service_configs.zpool_ssds [
(service_configs.services_dir + "/trilium")
])
];
services.trilium-server = {
enable = true;
port = service_configs.ports.private.trilium.port;
host = "127.0.0.1";
dataDir = service_configs.trilium.dataDir;
};
services.caddy.virtualHosts."notes.${service_configs.https.domain}".extraConfig = ''
import ${config.age.secrets.caddy_auth.path}
reverse_proxy :${toString service_configs.ports.private.trilium.port}
'';
}