Compare commits

..

3 Commits

Author SHA1 Message Date
78b6a59160 Config for alo wiki. 2025-04-17 10:24:46 +01:00
5d744f394a Refactor for multi-wiki setup. 2025-04-17 10:18:50 +01:00
33b1981146 Update flake. 2025-04-14 20:35:10 +01:00
3 changed files with 146 additions and 98 deletions

48
flake.lock generated
View File

@@ -50,11 +50,11 @@
]
},
"locked": {
"lastModified": 1743598667,
"narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=",
"lastModified": 1744145203,
"narHash": "sha256-I2oILRiJ6G+BOSjY+0dGrTPe080L3pbKpc+gCV3Nmyk=",
"owner": "nix-community",
"repo": "disko",
"rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6",
"rev": "76c0a6dba345490508f36c1aa3c7ba5b6b460989",
"type": "github"
},
"original": {
@@ -237,11 +237,11 @@
]
},
"locked": {
"lastModified": 1743387206,
"narHash": "sha256-24N3NAuZZbYqZ39NgToZgHUw6M7xHrtrAm18kv0+2Wo=",
"lastModified": 1744117652,
"narHash": "sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "15c5f9d04fabd176f30286c8f52bbdb2c853a146",
"rev": "b4e98224ad1336751a2ac7493967a4c9f6d9cb3f",
"type": "github"
},
"original": {
@@ -301,11 +301,11 @@
]
},
"locked": {
"lastModified": 1743306489,
"narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=",
"lastModified": 1744518957,
"narHash": "sha256-RLBSWQfTL0v+7uyskC5kP6slLK1jvIuhaAh8QvB75m4=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d",
"rev": "4fc9ea78c962904f4ea11046f3db37c62e8a02fd",
"type": "github"
},
"original": {
@@ -316,11 +316,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1743576891,
"narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=",
"lastModified": 1744440957,
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "44a69ed688786e98a101f02b712c313f1ade37ab",
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
"type": "github"
},
"original": {
@@ -364,11 +364,11 @@
},
"nixpkgs-unstable_2": {
"locked": {
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"lastModified": 1744463964,
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
"type": "github"
},
"original": {
@@ -387,11 +387,11 @@
"nuschtosSearch": "nuschtosSearch"
},
"locked": {
"lastModified": 1743598191,
"narHash": "sha256-30aI8rWjX64E9vIlE4iqgQguTjItvTnQLTqHtFppF/w=",
"lastModified": 1744588744,
"narHash": "sha256-57yF0pk7IUMiwq5XA9X/TX1fuIJYVnBfqhJWD/1+W0Q=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "a183298bf67307bdb7a25a2a3c565e76029f1b9e",
"rev": "d15f5e6f422e353901a425f26925129929e8a38a",
"type": "github"
},
"original": {
@@ -410,11 +410,11 @@
]
},
"locked": {
"lastModified": 1743201766,
"narHash": "sha256-bb/dqoIjtIWtJRzASOe8g4m8W2jUIWtuoGPXdNjM/Tk=",
"lastModified": 1743683223,
"narHash": "sha256-LdXtHFvhEC3S64dphap1pkkzwjErbW65eH1VRerCUT0=",
"owner": "NuschtOS",
"repo": "search",
"rev": "2651dbfad93d6ef66c440cbbf23238938b187bde",
"rev": "56a49ffef2908dad1e9a8adef1f18802bc760962",
"type": "github"
},
"original": {
@@ -444,11 +444,11 @@
]
},
"locked": {
"lastModified": 1743604509,
"narHash": "sha256-Hf5aYGP3hP+uNbcd4NrEMUAR+1o518uGzoeVyMzzJwo=",
"lastModified": 1744518500,
"narHash": "sha256-lv52pnfiRGp5+xkZEgWr56DWiRgkMFXpiGba3eJ3krE=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "4521de68fba1a36fae8caebce3d6e047179661f7",
"rev": "7e147a1ae90f0d4a374938cdc3df3cdaecb9d388",
"type": "github"
},
"original": {

View File

@@ -1,74 +0,0 @@
job "petruwiki" {
datacenters = ["alo"]
group "server" {
volume "appdata" {
type = "host"
read_only = false
source = "appdata"
}
volume "nix-store" {
type = "host"
read_only = true
source = "nix-store"
}
volume "sw" {
type = "host"
read_only = true
source = "sw"
}
network {
port "http" { }
}
task "wiki" {
driver = "exec"
config {
command = "/sw/bin/node"
args = [
"/appdata/petruwiki/node_modules/tiddlywiki/tiddlywiki.js",
"/appdata/petruwiki/petruwiki",
"--listen",
"host=0.0.0.0",
"port=${NOMAD_PORT_http}",
"authenticated-user-header=X-authentik-username",
"readers=ppetru",
"writers=ppetru",
"admin=ppetru",
]
}
user = "ppetru"
volume_mount {
volume = "appdata"
destination = "/appdata"
}
volume_mount {
volume = "nix-store"
destination = "/nix/store"
}
volume_mount {
volume = "sw"
destination = "/sw"
}
service {
name = "petruwiki"
port = "http"
tags = [
"traefik.enable=true",
"traefik.http.routers.petruwiki.entryPoints=websecure",
"traefik.http.routers.petruwiki.middlewares=authentik@file",
]
}
resources {
cpu = 1000
memory = 512
}
}
}
}

122
services/wiki.hcl Normal file
View File

@@ -0,0 +1,122 @@
job "wiki" {
datacenters = ["alo"]
group "servers" {
volume "appdata" {
type = "host"
read_only = false
source = "appdata"
}
volume "nix-store" {
type = "host"
read_only = true
source = "nix-store"
}
volume "sw" {
type = "host"
read_only = true
source = "sw"
}
network {
port "captainslog" { }
port "alo" { }
}
task "captainslog" {
driver = "exec"
config {
command = "/sw/bin/node"
args = [
"/appdata/petruwiki/node_modules/tiddlywiki/tiddlywiki.js",
"/appdata/petruwiki/captainslog",
"--listen",
"host=0.0.0.0",
"port=${NOMAD_PORT_captainslog}",
"authenticated-user-header=X-authentik-username",
"readers=ppetru",
"writers=ppetru",
"admin=ppetru",
]
}
user = "ppetru"
volume_mount {
volume = "appdata"
destination = "/appdata"
}
volume_mount {
volume = "nix-store"
destination = "/nix/store"
}
volume_mount {
volume = "sw"
destination = "/sw"
}
service {
name = "captainslog"
port = "captainslog"
tags = [
"traefik.enable=true",
"traefik.http.routers.captainslog.entryPoints=websecure",
"traefik.http.routers.captainslog.middlewares=authentik@file",
]
}
resources {
cpu = 500
memory = 256
}
}
task "alo" {
driver = "exec"
config {
command = "/sw/bin/node"
args = [
"/appdata/petruwiki/node_modules/tiddlywiki/tiddlywiki.js",
"/appdata/petruwiki/alo",
"--listen",
"host=0.0.0.0",
"port=${NOMAD_PORT_alo}",
"authenticated-user-header=X-authentik-username",
"readers=ppetru,ines",
"writers=ppetru,ines",
"admin=ppetru",
]
}
volume_mount {
volume = "appdata"
destination = "/appdata"
}
volume_mount {
volume = "nix-store"
destination = "/nix/store"
}
volume_mount {
volume = "sw"
destination = "/sw"
}
service {
name = "alowiki"
port = "alo"
tags = [
"traefik.enable=true",
"traefik.http.routers.alowiki.entryPoints=websecure",
"traefik.http.routers.alowiki.middlewares=authentik@file",
]
}
resources {
cpu = 500
memory = 256
}
}
}
}