From 61d41041027ee3a36803aad69c5b1ed59d6923d3 Mon Sep 17 00:00:00 2001 From: notohh Date: Thu, 28 Sep 2023 17:05:52 -0400 Subject: [PATCH] yuki: init vikunja --- hosts/yuki/services/default.nix | 2 +- hosts/yuki/services/traefik.nix | 6 ++++++ hosts/yuki/services/vikunja.nix | 26 ++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 hosts/yuki/services/vikunja.nix diff --git a/hosts/yuki/services/default.nix b/hosts/yuki/services/default.nix index f90c019..d96d2dc 100644 --- a/hosts/yuki/services/default.nix +++ b/hosts/yuki/services/default.nix @@ -8,6 +8,6 @@ ./dashdot.nix ./jellyfin.nix ./neko.nix - ./conduit.nix + ./vikunja.nix ]; } diff --git a/hosts/yuki/services/traefik.nix b/hosts/yuki/services/traefik.nix index 2e048fa..c33752b 100644 --- a/hosts/yuki/services/traefik.nix +++ b/hosts/yuki/services/traefik.nix @@ -40,6 +40,11 @@ _: { entrypoints = ["web"]; service = "jellyseerr"; }; + vikunja-frontend = { + rule = "Host(`vikunja.home.arpa`)"; + entrypoints = ["web"]; + service = "vikunja-frontend"; + }; }; services = { stash.loadBalancer.servers = [{url = "http://localhost:9999";}]; @@ -48,6 +53,7 @@ _: { searxng.loadBalancer.servers = [{url = "http://localhost:8100";}]; jellyfin.loadBalancer.servers = [{url = "http://localhost:8096";}]; jellyseerr.loadBalancer.servers = [{url = "http://localhost:5055";}]; + vikunja-frontend.loadBalancer.servers = [{url = "http://localhost:6789";}]; }; }; }; diff --git a/hosts/yuki/services/vikunja.nix b/hosts/yuki/services/vikunja.nix new file mode 100644 index 0000000..7227d58 --- /dev/null +++ b/hosts/yuki/services/vikunja.nix @@ -0,0 +1,26 @@ +{pkgs, ...}: { + networking.firewall.allowedTCPPorts = [3456 6789]; + + virtualisation.oci-containers.containers.vikunja = { + image = "vikunja/api"; + environment = { + VIKUNJA_SERVICE_FRONTENDURL = "vikunja.home.arpa"; + }; + ports = [ + "3456:3456" + ]; + volumes = [ + "/home/notoh/docker/vikunja/files:/app/vikunja/files" + ]; + }; + + virtualisation.oci-containers.containers.vikunja-frontend = { + image = "vikunja/frontend"; + ports = [ + "6789:80" + ]; + environment = { + VIKUNJA_API_URL = "http://192.168.1.36:3456/api/v1"; + }; + }; +}