From 4a6c1a663b362444328d190875b89a6452d28b8c Mon Sep 17 00:00:00 2001 From: matt1432 Date: Wed, 28 Feb 2024 13:17:20 -0500 Subject: [PATCH] feat(arion): migrate resume builder --- devices/cluster/modules/caddy.nix | 4 +- devices/nas/modules/arion/default.nix | 1 + devices/nas/modules/arion/resume/compose.nix | 51 +++++++++++++++++++ .../modules/arion/resume/images/postgres.nix | 8 +++ .../arion/resume/images/resume-client.nix | 8 +++ .../arion/resume/images/resume-server.nix | 8 +++ flake.lock | 8 +-- 7 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 devices/nas/modules/arion/resume/compose.nix create mode 100644 devices/nas/modules/arion/resume/images/postgres.nix create mode 100644 devices/nas/modules/arion/resume/images/resume-client.nix create mode 100644 devices/nas/modules/arion/resume/images/resume-server.nix diff --git a/devices/cluster/modules/caddy.nix b/devices/cluster/modules/caddy.nix index 0dcf56e..fa98501 100644 --- a/devices/cluster/modules/caddy.nix +++ b/devices/cluster/modules/caddy.nix @@ -53,8 +53,8 @@ in { jelly.reverseProxy = "${jellyIP}:80"; # Resume builder - resume.reverseProxy = "${dockerIP}:3060"; - resauth.reverseProxy = "${dockerIP}:3100"; + resume.reverseProxy = "${servivi}:3060"; + resauth.reverseProxy = "${servivi}:3100"; # Nextcloud & Co office.reverseProxy = "http://${servivi}:8055"; diff --git a/devices/nas/modules/arion/default.nix b/devices/nas/modules/arion/default.nix index 0742f7b..7b53b81 100644 --- a/devices/nas/modules/arion/default.nix +++ b/devices/nas/modules/arion/default.nix @@ -11,6 +11,7 @@ in { ./immich/compose.nix ./music/jbots/compose.nix ./nextcloud/compose.nix + ./resume/compose.nix ]; arion = { diff --git a/devices/nas/modules/arion/resume/compose.nix b/devices/nas/modules/arion/resume/compose.nix new file mode 100644 index 0000000..cbd24f5 --- /dev/null +++ b/devices/nas/modules/arion/resume/compose.nix @@ -0,0 +1,51 @@ +{config, ...}: let + inherit (config.sops) secrets; + inherit (config.arion) rwDataDir; + + rwPath = rwDataDir + "/resume"; +in { + arion.projects."resume" = { + "postgres" = { + image = ./images/postgres.nix; + restart = "always"; + + ports = ["5432:5432"]; + + volumes = [ + "${rwPath}/db:/var/lib/postgresql/data" + ]; + + env_file = [secrets.resume.path]; + }; + + "server" = { + image = ./images/resume-server.nix; + restart = "always"; + + ports = ["3100:3100"]; + + depends_on = ["postgres"]; + + env_file = [secrets.resume.path]; + + environment = { + PUBLIC_URL = "https://resume.nelim.org"; + PUBLIC_SERVER_URL = "https://resauth.nelim.org"; + }; + }; + + "client" = { + image = ./images/resume-client.nix; + restart = "always"; + + ports = ["3060:3000"]; + + depends_on = ["server"]; + + environment = { + PUBLIC_URL = "https://resume.nelim.org"; + PUBLIC_SERVER_URL = "https://resauth.nelim.org"; + }; + }; + }; +} diff --git a/devices/nas/modules/arion/resume/images/postgres.nix b/devices/nas/modules/arion/resume/images/postgres.nix new file mode 100644 index 0000000..421a0f6 --- /dev/null +++ b/devices/nas/modules/arion/resume/images/postgres.nix @@ -0,0 +1,8 @@ +pkgs: +pkgs.dockerTools.pullImage { + imageName = "postgres"; + imageDigest = "sha256:d00564ed4c14d702b7b4465dad4f4621c2eb985a21758b27d20c673b9fc3ebd4"; + sha256 = "17d2fcmb47ijrc96y55fihjjb2dsj9jjhjn4kyacdi5g4x5aanz7"; + finalImageName = "postgres"; + finalImageTag = "15-alpine"; +} diff --git a/devices/nas/modules/arion/resume/images/resume-client.nix b/devices/nas/modules/arion/resume/images/resume-client.nix new file mode 100644 index 0000000..9c531d9 --- /dev/null +++ b/devices/nas/modules/arion/resume/images/resume-client.nix @@ -0,0 +1,8 @@ +pkgs: +pkgs.dockerTools.pullImage { + imageName = "amruthpillai/reactive-resume"; + imageDigest = "sha256:9cbe8efde6f489da05367b5b2d0f0097b397f76fa1dcefd0352f174e50221826"; + sha256 = "1ybsnr91518m7v2g9drp2pdibml4rsfa5mqnrjckwq1ai9mlg1rj"; + finalImageName = "amruthpillai/reactive-resume"; + finalImageTag = "client-latest"; +} diff --git a/devices/nas/modules/arion/resume/images/resume-server.nix b/devices/nas/modules/arion/resume/images/resume-server.nix new file mode 100644 index 0000000..df617ee --- /dev/null +++ b/devices/nas/modules/arion/resume/images/resume-server.nix @@ -0,0 +1,8 @@ +pkgs: +pkgs.dockerTools.pullImage { + imageName = "amruthpillai/reactive-resume"; + imageDigest = "sha256:f14519b5d72fab07a948ce0ac6ac8e09321f1b05865e9d951851467e8be0542f"; + sha256 = "0znbhnixy22i80h2qjylsf8v0mg07scfirh2q5w8njf7sa52w0d6"; + finalImageName = "amruthpillai/reactive-resume"; + finalImageTag = "server-latest"; +} diff --git a/flake.lock b/flake.lock index 4f11081..eaebc1f 100644 --- a/flake.lock +++ b/flake.lock @@ -1342,11 +1342,11 @@ "sops-nix": "sops-nix" }, "locked": { - "lastModified": 1709140468, - "narHash": "sha256-L6sJbSY7ckfk4BY2E28+0+XIE5r7YupiQuCCiLRZ4WI=", + "lastModified": 1709143835, + "narHash": "sha256-75Ww7bpWFdKyYxTiSd2zO8FX6T5FxfAAwuyOf6PgkWs=", "ref": "refs/heads/main", - "rev": "e55f4bbd9179f9cb2d3b9770942f6e9eaf259ab2", - "revCount": 46, + "rev": "38fcf652c0fb0c441cd0fff092772f547be7c42d", + "revCount": 48, "type": "git", "url": "ssh://git@git.nelim.org/matt1432/nixos-secrets" },