From c8740ba8a1510dbb044ae172e34b3b458faa87fe Mon Sep 17 00:00:00 2001 From: uku Date: Wed, 29 Jan 2025 11:34:43 +0100 Subject: [PATCH 1/2] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'camasca': 'git+https://git.uku3lig.net/uku/camasca?ref=refs/heads/main&rev=70b5e931bacc4a59cdef5b5ea26d3f968c52b332' (2025-01-24) → 'git+https://git.uku3lig.net/uku/camasca?ref=refs/heads/main&rev=edcd0a4ddf59dc9cbacf539e019da0c65896be5e' (2025-01-29) --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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" }, From 10d00e75b20e64043782a18f2fb46e6bcda80155 Mon Sep 17 00:00:00 2001 From: uku Date: Wed, 29 Jan 2025 11:49:58 +0100 Subject: [PATCH 2/2] feat(etna): migrate shlink to camasca package and postgres --- systems/etna/shlink.nix | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) 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; + } + ]; }; }; }