diff --git a/flake.lock b/flake.lock index 848ce9e..362c2ba 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1737728406, - "narHash": "sha256-m0Fn7+PJHKaARelpu39oe1THO2CbGTpDTj9W4rtXAJs=", + "lastModified": 1738146869, + "narHash": "sha256-AzAz5+EgiF9CTXspgIHCna4XwA4RvQJq2bldGI/G8Cg=", "ref": "refs/heads/main", - "rev": "70b5e931bacc4a59cdef5b5ea26d3f968c52b332", - "revCount": 44, + "rev": "edcd0a4ddf59dc9cbacf539e019da0c65896be5e", + "revCount": 50, "type": "git", "url": "https://git.uku3lig.net/uku/camasca" }, diff --git a/systems/etna/shlink.nix b/systems/etna/shlink.nix index a50fd59..7963777 100644 --- a/systems/etna/shlink.nix +++ b/systems/etna/shlink.nix @@ -1,13 +1,29 @@ +{ camasca, ... }: { + imports = [ camasca.nixosModules.shlink ]; + cfTunnels."uku.moe" = "http://localhost:8081"; - virtualisation.oci-containers.containers.shlink = { - image = "shlinkio/shlink:stable"; - ports = [ "8081:8080" ]; - volumes = [ "/data/shlink/database.sqlite:/etc/shlink/data/database.sqlite" ]; - environment = { - DEFAULT_DOMAIN = "uku.moe"; - IS_HTTPS_ENABLED = "true"; + services = { + shlink = { + enable = true; + environment = { + PORT = "8081"; + DEFAULT_DOMAIN = "uku.moe"; + IS_HTTPS_ENABLED = "true"; + DB_DRIVER = "postgres"; + DB_UNIX_SOCKET = "/var/run/postgresql"; + }; + }; + + postgresql = { + ensureDatabases = [ "shlink" ]; + ensureUsers = [ + { + name = "shlink"; + ensureDBOwnership = true; + } + ]; }; }; }