diff --git a/services/tiddlywiki-mcp.hcl b/services/tiddlywiki-mcp.hcl new file mode 100644 index 0000000..306aee2 --- /dev/null +++ b/services/tiddlywiki-mcp.hcl @@ -0,0 +1,80 @@ +job "tiddlywiki-mcp" { + datacenters = ["alo"] + + group "captainslog" { + network { + port "http" {} + } + + volume "services" { + type = "host" + source = "services" + read_only = false + } + + volume "nix-store" { + type = "host" + source = "nix-store" + read_only = true + } + + volume "sw" { + type = "host" + source = "sw" + read_only = true + } + + task "mcp-server" { + driver = "exec" + + config { + command = "/sw/bin/node" + args = ["/data/services/tiddlywiki-mcp/dist/index.js"] + } + + env { + MCP_TRANSPORT = "http" + MCP_PORT = "${NOMAD_PORT_http}" + CONSUL_SERVICE = "captainslog.service.consul" + AUTH_HEADER = "X-Oidc-Username" + AUTH_USER = "claude-code" + } + + volume_mount { + volume = "services" + destination = "/data/services" + read_only = false + } + + volume_mount { + volume = "nix-store" + destination = "/nix/store" + read_only = true + } + + volume_mount { + volume = "sw" + destination = "/sw" + read_only = true + } + + service { + name = "tiddlywiki-mcp-captainslog" + port = "http" + + check { + type = "http" + path = "/health" + interval = "10s" + timeout = "2s" + } + } + + resources { + memory = 256 + } + + user = "ppetru" + } + } +}