From 3ddfaaa2624362ec632431ab6b47b62585d27aa1 Mon Sep 17 00:00:00 2001 From: TheWanderingCrow Date: Wed, 22 Jan 2025 15:11:51 -0500 Subject: [PATCH] bar assistant is pretty much setup but I need to figure out the nginx piece --- modules/users/overseer/default.nix | 2 +- modules/users/overseer/secrets.nix | 6 +++--- modules/users/overseer/services.nix | 27 ++++++++++++++++----------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/modules/users/overseer/default.nix b/modules/users/overseer/default.nix index e3f7ea5..1caeaef 100644 --- a/modules/users/overseer/default.nix +++ b/modules/users/overseer/default.nix @@ -5,7 +5,7 @@ }: { imports = [ ./user.nix - ./services.nix ./secrets.nix + ./services.nix ]; } diff --git a/modules/users/overseer/secrets.nix b/modules/users/overseer/secrets.nix index 59aabcb..0dba2a4 100644 --- a/modules/users/overseer/secrets.nix +++ b/modules/users/overseer/secrets.nix @@ -27,11 +27,11 @@ lib.mkIf config.user.overseer.enable { # Meilisearch secrets sops.secrets."meilisearch/masterkey" = {}; sops.templates."meilisearch-environment".content = '' - MEILI_MASTER_KEY = ${config.sops.placeholder."meilisearch/masterkey"} + MEILI_MASTER_KEY=${config.sops.placeholder."meilisearch/masterkey"} ''; # Bar Assistant secrets - sops.templates."barassistant-environment".content = '' - MEILISEARCH_KEY = ${config.sops.placeholder."meilisearch/masterkey"} + sops.templates."bar_assistant-env".content = '' + MEILISEARCH_KEY=${config.sops.placeholder."meilisearch/masterkey"} ''; } diff --git a/modules/users/overseer/services.nix b/modules/users/overseer/services.nix index e054670..d022a1d 100644 --- a/modules/users/overseer/services.nix +++ b/modules/users/overseer/services.nix @@ -9,13 +9,12 @@ in ... }: lib.mkIf config.user.overseer.enable { - # Some scafolding for secrets # Create the dirs we need systemd.tmpfiles.rules = [ "d ${volumePath}" - "d ${volumePath}/bar-assistant" + "d ${volumePath}/bar-assistant 770 33 33" "d ${volumePath}/meilisearch" ]; @@ -62,10 +61,6 @@ in }; }; "bar.wanderingcrow.net" = { - extraConfig = '' - allow 192.168.0.0/16; - deny all; - ''; locations = { "/bar/" = { proxyPass = "http://localhost:3000"; @@ -180,24 +175,34 @@ in }; }; + systemd.services.podman-create-pod-bar-assistant = { + serviceConfig.Type = "oneshot"; + wantedBy = [ "podman-bar-assistant.service" ]; + script = '' + ${pkgs.podman}/bin/podman pod exists bar-assistant || \ + ${pkgs.podman}/bin/podman pod create -n bar-assistant -p 3000:8080 -p 7700:7700 + ''; + }; + virtualisation.oci-containers = { backend = "podman"; containers = { "meilisearch" = { image = "getmeili/meilisearch:v1.8"; volumes = ["${volumePath}/meilisearch:/meili_data"]; - ports = ["7700:7700"]; - environmentFile = [config.sops.templates."meilisearch-environment".path]; + extraOptions = [ "--pod=bar-assistant" ]; + environmentFiles = [config.sops.templates."meilisearch-environment".path]; environment = { MEILI_ENV = "production"; + MEILI_NO_ANALYTICS = "true"; }; }; "bar-assistant" = { image = "barassistant/server:v4"; volumes = ["${volumePath}/bar-assistant:/var/www/cocktails/storage/bar-assistant"]; - ports = ["3000:3000"]; dependsOn = ["meilisearch"]; - environmentFile = [config.sops.templates."barassistant-environment".path]; + extraOptions = [ "--pod=bar-assistant" ]; + environmentFiles = [config.sops.templates."bar_assistant-env".path]; environment = { APP_URL = "bar.wanderingcrow.net/bar"; MEILISEARCH_HOST = "http://localhost:7700"; @@ -208,8 +213,8 @@ in }; "salt-rim" = { image = "barassistant/salt-rim:v3"; - ports = ["3001:8080"]; dependsOn = ["bar-assistant"]; + ports = [ "3001:8080" ]; environment = { API_URL = "bar.wanderingcrow.net/bar"; MEILIESEARCH_URL = "bar.wanderingcrow.net/search";